0

如何更改从另一个网站解析的某些单词?

我使用以下 PHP 代码解析了来自第三方网站的文本:

<?php
 include_once 'externalcode/simple_html_dom.php';
set_time_limit(10);
/* update your path accordingly */
$url  ='http://maltadiocese.org/lang/en/parishes/attard/';
$html = file_get_html($url) or die ('Information about this Parish is currently unavailable');
foreach($html->find('span[lang=en]') as $webLink){
    echo $webLink->plaintext.'<br>';
    echo $webLink->href.'<br>';
} 
foreach($html->find('div[id=textwidget]') as $Link2){
    echo $webLink2->plaintext.'<div style="display:none";>';    
}    
?>  

我成功地解析了文本。现在我想更改解析文本中某些特定单词的样式,即假设教区教堂,它在我的网站上被解析为纯文本。我想让它变得粗体、红色并带有下划线。

我遵循了本教程,但它对我不起作用。

我的意图是解析文本并将其更改为遵守 CSS 规则。

谢谢

4

1 回答 1

1

您可以在 CSS 上定义自定义类以提供所需的效果(我们称之为 HTML 类foo)。然后,在代码中,您将执行以下操作:

<?php
$textToFind = 'Parish Church of the Assumption';
$replace    = '<span class="foo">' . $textToFind . '</span>';
str_replace($textToFind, $replace, $parsedText);

然后,在 css 样式表上,您将执行以下操作:

.foo {
    text-decoration: underline;
    color: red;
    font-weight: bold;
}

编辑:完整代码的示例。

<html>
    <head>
        <style>
            .foo {
                text-decoration: underline;
                color: red;
                font-weight: bold;
            }
        </style>
    </head>
    <body>
    <?php
    $parsedText = fetch_text();
    $textToFind = 'Parish Church of the Assumption';
    $replace    = '<span class="foo">' . $textToFind . '</span>';
    echo str_replace($textToFind, $replace, $parsedText);
?>
    </body>
</html>
于 2013-02-16T01:04:30.503 回答