Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php str_将字符串中的相同文本替换为不同文本_Php_Html - Fatal编程技术网

php str_将字符串中的相同文本替换为不同文本

php str_将字符串中的相同文本替换为不同文本,php,html,Php,Html,全文如下: $string = "This is my car. my car. Look my car."; 我想在每个句子之前和之后添加文本: 因此,我的结果是: SOME-TEXT This is my car. SOME-TEXT SOME-TEXT my car. SOME-TEXT SOME-TEXT Look my car. SOME-TEXT 我试着这样做: $string = str_replace("my car", "SOME-TEXT my car SOME-TEX

全文如下:

$string = "This is my car. 
my car.
Look my car.";
我想在每个句子之前和之后添加文本: 因此,我的结果是:

SOME-TEXT This is my car. SOME-TEXT
SOME-TEXT my car. SOME-TEXT
SOME-TEXT Look my car. SOME-TEXT
我试着这样做:

$string = str_replace("my car", "SOME-TEXT my car SOME-TEXT", $string);
但我得到的结果是:

<p>This is SOME-TEXT my car. SOME-TEXT</p> 
<td>SOME-TEXT my car. SOME-TEXT</td>
<h1>Look SOME-TEXT my car. SOME-TEXT<h1>
这是我的车。一些文本

给我的车发短信。一些电子文本 看看我的车。一些电子文本
这不是我想要的


有什么想法吗

这可以实现您想要的:

$string = str_replace("my car.", "my car. SOME-TEXT", $string);
$string = "This is my car. 
my car.
Look my car.";
define('SOME_TEXT', 'SOME-TEXT');
define('BEG', SOME_TEXT . ' ');
define('END', ' ' . SOME_TEXT);
$result = BEG . str_replace("\n", END . "\n" . BEG, $string). END;

您的输入是“纯”,没有HTML字符串(在句子之间用新行作为分隔符,可以用于explode()),但您的输出是HTML。。。你能提供上下文吗?也许有更好的方法?这里的文本只是一个示例输出。我想在html页面的一些文本之前和之后添加一些文本。任何html页面都可以用作示例。你能提供一些简单的html页面的例子吗。问题是当一些字符串(在本例中,例如我的车)出现在许多句子中时。。。在这种情况下,您需要进行HTML解析。。。有许多可能的输入(和输出),“简单示例”在其他情况下不会有帮助…好的。你能举一些例子吗。以本页为例。我如何在页面上的每个句子前后添加一些文本?一种可能的方法:使用这个简单的库,获取所需的元素文本,并对其进行操作。一些文本这是我的车。给我的车发短信。看看我的车。这段代码中的一些文本并没有提供这样的结果。