Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.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 正则表达式-preg_replace-替换段落内的特定内容_Php_Regex - Fatal编程技术网

Php 正则表达式-preg_replace-替换段落内的特定内容

Php 正则表达式-preg_replace-替换段落内的特定内容,php,regex,Php,Regex,我正在尝试实现只替换标记之间的特定单词的功能 例如: <p>this is word i need to replace</p> 但上述逻辑也将取代不在段落内的关键词。 如何更新这个正则表达式,使其只替换段落中的单词 注意:请注意,我不能使用我不熟悉w/php,但这里是python。我想我会尽力帮你的,因为你有一段时间没人接电话。你可以看到,我正在匹配和存储单词周围的内容,并将其添加到我的替换词“newword”中。而且它确实忽略了标记中的单词“word” >&g

我正在尝试实现只替换
标记之间的特定单词的功能

例如:

<p>this is word i need to replace</p>
但上述逻辑也将取代不在段落内的关键词。 如何更新这个正则表达式,使其只替换段落中的单词


注意:请注意,我不能使用

我不熟悉w/php,但这里是python。我想我会尽力帮你的,因为你有一段时间没人接电话。你可以看到,我正在匹配和存储单词周围的内容,并将其添加到我的替换词“newword”中。而且它确实忽略了

标记中的单词“word”

>>> import re
>>> a = "<p>this is word i need to replace</p>"
>>> a += "\n<h1>blah blah crud word</h1>"
>>> re.sub("(<p>.*?)word(.*?</p>)","\g<1>new word\g<2>",a)
'<p>this is new word i need to replace</p>\n<h1>blah blah crud word</h1>'
>>重新导入
>>>a=“这是我需要替换的word

” >>>a+=“\n废话脏话” >>>re.sub((*?)字(.*?

),“\gnew-word\g”,a) “这是我需要替换的新词

\n废话词”
您可以在这个网站上查看专家对通过正则表达式解析HTML的意见。你会发现一些反对这样做的有力论据。使用完整的php,而不是为什么你认为发布一个php标记问题的Python答案会对OP有所帮助?OP显然知道如何使用正则表达式,他们的问题是如何正确地“使用”正则表达式。如果我说你需要对周围的零件进行分组并进行更换,这就是他们需要知道的全部。大多数语言都是90%相同的,而且在正则表达式方面,大多数语言都支持一组非常相似的功能。这比原始问题下的3条评论要好,这3条评论相当于“按照我们的方式去做,即使你可能不熟悉它,因为我们确切地知道你真正需要什么”。
>>> import re
>>> a = "<p>this is word i need to replace</p>"
>>> a += "\n<h1>blah blah crud word</h1>"
>>> re.sub("(<p>.*?)word(.*?</p>)","\g<1>new word\g<2>",a)
'<p>this is new word i need to replace</p>\n<h1>blah blah crud word</h1>'