2011-12-16 48 views
1
<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並用某些東西代替它們。什麼是擺脫後面的字符串數組方式:查找textarea並用其他東西替換

1: <textarea name="description">This is some text</textarea> 
2: <textarea name="interests">What i like to do</textarea> 

回答

2
  1. 使用DOMDocument->loadHTML()加載HTML作爲DOM樹,
  2. 找到textarea元素(和他們的文本節點)
  3. 更換與相關元素。

參考Robust, Mature HTML Parser for PHP


本質:避免這種任務的正則表達式。如果您堅持(和HTML是保證所指示的那樣簡單),嘗試:

preg_replace('/<textarea name="([^"]+)">([^<]+)<\/textarea>/', '<input type="text" name="\\1" value="\\2">', $yourHtmlString); 

demo