php-在特定HTML标记上应用格式

时间:2016-01-28 19:04:21

标签: php html tags

我遇到的问题是我正在使用文本编辑器呈现正在数据库中输入的文本。 现在我有一些基础条件,我必须在某些特定标签上应用格式,例如,如果有一个单词&#39;老师&#39;在<p><h1><h2>中,应将其更改为&#39; student&#39;。 我不确定如何在特定的html代码

上应用格式

修改 就像我在DB中输入了以下文本

<p>teacher</p>
<h1>parent</h1>
<h2>TEACHER</h2>
<h3>PARENT</h3>
<strong>parent</strong>

我希望将教师一词替换为学生,只有当它位于<p><h1><h2>中时

2 个答案:

答案 0 :(得分:3)

所以这是一种方式:

str_replace("<p>teacher</p>", "<p>student</p>", $yourText );

http://php.net/manual/en/function.str-replace.php

答案 1 :(得分:3)

你可以使用preg_replace:

$str = '<p>teacher is reading</p>
<h1>parent</h1>
<h2>TEACHER</h2>
<h3>PARENT</h3>
<strong>parent</strong>';

//for word in string too
//i for insensitive
$resp = preg_replace('/<(p|h1|h2)>(.*?)(teacher)(.*?)<\/(p|h1|h2)>/i','<$1>$2student$4<‌​/$5>',$str);

var_dump($resp);

响应:

<p>student</p>
<h1>parent</h1>
<h2>student</h2>
<h3>PARENT</h3>
<strong>parent</strong>

我不知道但是在html代码中设置了此代码<&zwnj;&#8203;/$5>,结果为<??/(tag)>

改进代码(已清理): from_gist