PHP,从数据库处理字符串,更改<p>

时间:2017-09-24 01:40:05

标签: php string dom

我正在尝试一些非常简单的事情,但我很困惑......

我在php(来自数据库)中获取一个字符串,当使用chrome检查元素时(在数据库中,字符串是这样的):

$文本=

    <p><strong>Title</strong></p>
    <p>text1</p>
    <p>text2</p>
    <p>text3</p>
    <p>text4</p>
    <p><strong>Title2</strong></p>
    .....

我想将所有<p>更改为<p class ="newclass">,并以正确的方式在浏览器中显示文字。

我尝试了不同的方式:

$newtext = preg_replace('/\b<p>\b/u', '<p class = "newclass">', highlight_string($text, true));
echo $newtext;

但这不起作用。我尝试了更多的例子,但所有主题都没有用。

所以,基本上我从数据库中获取一些文本,我需要将所有<p>更改为特定的新类,并以正确的方式再次回显。

非常感谢

1 个答案:

答案 0 :(得分:0)

您可以使用substr_replace来完成此任务。这很简单。

$text = '<p>';
$class = ' class="class_name">';

echo substr_replace($text, $class, -1);

此代码将从中获取原始字符串$text,减去-1,并将第二个字符串$class添加到字符串的末尾(在这种情况下,它将在>之前。

第一个参数是原始字符串,即您从数据库中提取的字符串<p>

第二个参数是你想要的字符串的添加,你可以改变它以反映你需要的任何东西。

第三个参数是添加文本的位置。您注意到该数字为负数,这意味着该脚本将查找字符串的末尾以添加额外内容,如果您将其更改为正数,则会从头开始。

  

开始

     

如果start为非负数,则替换将从start'th offset开始变为字符串。

     

如果start为负数,则替换将从字符串末尾的起始字符开始。

PHP's documentation & syntax

mixed substr_replace ( mixed $string , mixed $replacement , mixed $start [, mixed $length ] )