<html>
<head><title>Example page</title></head>
<body>
<textarea name="description">This is some text</textarea>
<input type='text' name='bla' value='a textinput' />
<textarea name="interests">What i like to do</textarea>
</body>
</html>
上面的html代码是变量的值。我想抓住所有textareas并用东西替换它们。从字符串中获取以下数组的方法是什么:
1: <textarea name="description">This is some text</textarea>
2: <textarea name="interests">What i like to do</textarea>
答案 0 :(得分:2)
DOMDocument->loadHTML()
将HTML加载为DOM树textarea
元素(及其文本节点)比照。 Robust, Mature HTML Parser for PHP
本质上:避免这类任务的正则表达式。如果您坚持(并且保证HTML与指示一样简单),请尝试:
preg_replace('/<textarea name="([^"]+)">([^<]+)<\/textarea>/', '<input type="text" name="\\1" value="\\2">', $yourHtmlString);
(demo)