【发布时间】:2013-11-29 20:04:08
【问题描述】:
我对正则表达式很陌生,我已经进行了反复试验。
如何替换:
<input name="token" type="text" id="test" value="">
如果 id 存在,它将首先搜索id="test",它将在value="" 标签中设置一个“变量”。
但如果value="" 包含一个变量
例如:
<input name="token" type="text" id="test" value="token" />
它应该将整个 value="token" 替换为所需的变量。
preg_match('%<[^>]*(id="test"[^>]*>)([^<]*)</[^>]*>%', $html, $match);
它只搜索有结束标签的 HTML 标签
例如:<div id="test"></div>
以及来自“输入标签”的值。我想出了这个不好的解决方案。
$data['token'] = 'test';
str_replace(array_keys($data),array_values($data),$html);
谁能帮助我,给我一些关于 PHP 正则表达式的提示。谢谢。
【问题讨论】:
-
不要为此使用正则表达式,而是使用 HTML 解析器。
-
是的,我知道,但我只是想试试。就像我说的那样,我想尝试反复试验
标签: php html regex replace find