小编GP_*_*GP_的帖子

DOM Parser突出显示不起作用的关键字

这个问题与我之前提出的问题有关,但由于该主题现已结束,我需要进一步提问,我将提出一个新问题,希望这很好.

在我之前的回答中,我简化了问题并导致了简单但不完全正常的解决方案.这些天我实现我的代码时意识到了这一点.

上一篇文章中解决方案的问题在于HTML标记被替换函数打破.我已阅读本网站的许多帖子,我需要使用DOM Parser.我很熟悉这一点,我想通过这个用户"ircmaxell"建议的代码,但它并没有为我工作.

这是我做的样本:

echo '<style type="text/css">
       .ht{
         background-color: yellow;
       }
     </style>'; 


/* taken from user ircmaxell at https://stackoverflow.com/questions/4081372/highlight-keywords-in-a-paragraph

I just modified line $highlight->setAttribute('class', 'highlight') to $highlight->setAttribute('class', 'ht') and commented the first 2 lines   */

function highlight_paragraph($string, $keyword) {
  //$string = '<p>foo<b>bar</b></p>';
  //$keyword = 'foo';
  $dom = new DomDocument();
  $dom->loadHtml($string);
  $xpath = new DomXpath($dom);
  $elements = $xpath->query('//*[contains(.,"'.$keyword.'")]');
  foreach ($elements as $element) {
   foreach ($element->childNodes as $child) {
     if (!$child instanceof DomText) continue;
     $fragment = $dom->createDocumentFragment(); …
Run Code Online (Sandbox Code Playgroud)

html php dom highlighting

4
推荐指数
1
解决办法
705
查看次数

标签 统计

dom ×1

highlighting ×1

html ×1

php ×1