preg_replace替换html标签

时间:2014-11-27 13:41:16

标签: php html

所以

我有代码:

$wzor = '/^<span class=\"person\">(.*?)</span>/';
$text = str_replace($wzor, '', $text);

我想从我的文字中删除所有与班级人员的跨度,但我的代码不起作用

我的意见如下:

<ul>
    <li><span class="label">Spółdzielnia Socjalna Giełda Pracy</span><span class="person">0zł brutto</span></li>
</ul>
<ul>
    <li><span class="label">LOYD SPÓŁKA AKCYJNA</span><span class="person">0zł brutto</span></li>
</ul>
<ul>
    <li><span class="label">Loyd 8 Sp. z o.o.</span><span class="person">0zł brutto</span></li>
    <li><span class="label">Loyd 1 Sp. z o.o.</span><span class="person">0zł brutto</span></li>
    <li><span class="label">Loyd 7 Sp. z o.o.</span><span class="person">0zł brutto</span></li>
</ul>
<ul>
    <li><span class="label">Spółdzielnia Socjalna Giełda Pracy</span><span class="person">0zł brutto</span></li>
</ul>
<ul>
    <li><span class="label">Spółdzielnia Socjalna Icelandia</span><span class="person">0zł brutto</span></li>
</ul>
<ul>
    <li><span class="label">Spółdzielnia Socjalna Giełda Pracy</span><span class="person">0zł brutto</span></li>
</ul>bonusbonus
<ul>
    <li><span class="label">Spółdzielnia Socjalna Giełda Pracy</span><span class="person">0zł brutto</span></li>
</ul>bonus

2 个答案:

答案 0 :(得分:1)

开头的 ^ 会强制匹配位于字符串的开头。此外,/

中还有未转义的 </span>

这应该有效:

$wzor = '/<span class=\"person\">(.*?)<\/span>/';

同时使用preg_replace代替str_replace。 ;)

答案 1 :(得分:0)

如果要使用正则表达式,则需要使用preg_replace()功能。你的正则表达式中也有一个错误,它没有逃避斜线字符。这个有效:

<span class=\"person(.*?)<\/span>