Замена значений html-тега append символами или обозначениями - PullRequest
0 голосов
/ 14 декабря 2011
<span class="fwb">Harry and David</span>

<span class="fcg">Business Intelligence Developer/Analyst</span> 
<span class="fcg">Oct 1998 to present</span>
<span class="fcg">Medford, Oregon</span>

<span class="fsm fwn fcg">Creative writing</span>

In my html content 
<span class="fwb"> occured more than 4 times, 
<span class="fcg"> occured more than 10 times, 
<span class="fsm fwn fcg">Creative writing</span> occured  more than 5 times. 

с использованием выражения php reg или DOMDocument () мне нужно заменить все содержимое, которое будет добавлено, символом $.

Например:

<span class="fwb">Harry and David</span> to be replaced by <span class="fwb">Harry and David$</span>

<span class="fcg">Business Intelligence Developer/Analyst</span> to be replaced by       <span class="fcg">Business Intelligence Developer/Analyst$</span>

1 Ответ

0 голосов
/ 14 декабря 2011

Это трудно понять из примеров кода (?), Но я думаю, что вы хотите добавить знак $ в конец каждого из тегов <span>. Для этого используйте DomDocument:

$str = '
<span class="fwb">Harry and David</span>
<span class="fcg">Business Intelligence Developer/Analyst</span>
';

$dom = new DomDocument();
$dom->loadHTML($str);

$spans = $dom->getElementsByTagName('span');
foreach ($spans as $span) {
  $span->nodeValue = $span->nodeValue . '$';
  echo $dom->saveHTML($span) . "\n";
}

Вы можете, как вы сказали, также использовать preg_replace() примерно так:

$str = '
<span class="fwb">Harry and David</span>
<span class="fcg">Business Intelligence Developer/Analyst</span>
';

$p = '{(<span[^>]*>)([^<]+)(</span>)}';
$r = '$1$2\$$3';
echo preg_replace($p, $r, $str);

Этот пример регулярного выражения добавляет $ в конец каждого узла span в тексте HTML темы.

...