2011-12-31 33 views
0

刪除域名我有樣本文字是這樣的:如何使用文本PHP的preg_replace

Nytimes.com一個最大的新聞門戶網站,有很多的內容裏面。幾種搜索引擎,如www.Google.com,www.yahoo.com和yandex.ru將他們的履帶發送至此網站。這也Bing.comremoved

所以我想用正則表達式preg_replace刪除所有域內。結果應該是:

其中一個最大的新聞門戶,裏面有很多內容。幾個搜索引擎喜歡和發送他們的履帶到這個網站。這也刪除

這是我失敗的實驗:

$new_text = preg_replace('/s(.*?)\.(?:aero|asia|biz|cat|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|tel|travel|ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cx|cy|cz|cz|de|dj|dk|dm|do|dz|ec|ee|eg|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mn|mn|mo|mp|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|nom|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ra|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw|arpa)/', '', $text); 

任何解決方案來解決這個問題呢?

+0

正則表達式'/([A-ZA-Z0-9] +)\(SE | COM)/'確實有點更好ATLEAST,所述'。由於域名不能包含0個字符或特殊字符,所以*?'的方式非常匹配。 – lfxgroove 2011-12-31 11:24:42

回答

0

像這樣的事情應該可以幫助您:

/([wW]{3,3}\.|)[A-Za-z0-9]+?\.(se|com|ru)/ 

替換最後SE | COM | RU你需要什麼來代替。雖然之後你會有這樣的事情:

其中一個最大的新聞門戶,有很多內容。 像幾個搜索引擎,併發送他們的履帶到這個網站。 這也刪除

要刪除的開始,你可以做trim($str)的空間和其他空間正則表達式,看起來像preg_replace('/\s+/', ' ', $str);應該幫助你。

+0

謝謝安東,它的作品!此外,偉大的修剪和其他空間正則表達式。 – yodi 2011-12-31 16:43:40

0
<?php 

$patterrn='/([wW]{3,3}\.|)[A-Za-z0-9]+?\.(aero|asia|biz|cat|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|tel|travel|ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cx|cy|cz|cz|de|dj|dk|dm|do|dz|ec|ee|eg|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mn|mn|mo|mp|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|nom|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ra|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw|arpa)/'; 
$text="Nytimes.com One of the biggest news portals, have a lot of contents inside. Several search engine like www.Google.com, www.yahoo.com and yandex.ru send their crawler to this sites. This also Bing.comremoved"; 
$output = preg_replace($patterrn,"",$text); 
print_r($output); 

?> 

輸出:

One of the biggest news portals, have a lot of contents inside. Several search engine like , and send their crawler to this sites. This also removed 
+0

我選擇anton作爲解決方案,因爲它是第一個。對於來到這裏的人來說,你的答案更加詳細,易於理解。不管怎麼說,還是要謝謝你! – yodi 2011-12-31 16:45:57