2013-06-07 28 views
7

हैलो से लिंक निकालें, मेरे पास वेबसाइट पर कुछ उपयोगकर्ता द्वारा उत्पन्न सामग्री है। मैं PHP कार्यों का उपयोग कर इसके लिंक को हटाना चाहता हूं।PHP। स्ट्रिंग्स

उदाहरण के लिए मैं निम्नलिखित स्ट्रिंग है:।

"text1 http://link1 text2 www.link2 text3 link3.com text4" 

वहाँ शब्द पता लगाने के लिए एक आसान तरीका है, जिसमें http :, www, .com और उन्हें पाठ से दूर करने के लिए? या लिंक से पाठ की सफाई करने का कोई और अच्छा तरीका है?

आपके समय के लिए धन्यवाद!

उत्तर

10
$pattern = "/[a-zA-Z]*[:\/\/]*[A-Za-z0-9\-_]+\.+[A-Za-z0-9\.\/%&=\?\-_]+/i"; 
$replacement = ""; 
preg_replace($pattern, $replacement, $string); 
+0

मैं यह – user2331090

+0

मूल सरल URL के लिए अच्छी तरह से काम करता हूं। जब URL में {या} जैसे विशेष वर्ण होते हैं, तो यह विफल हो जाता है। लेकिन एसईओ दोस्ताना लिंक हटाने के लिए यह बहुत अच्छा है। – pkout

5

ओह, मुझे जवाब मिला।

function cleaner($url) { 
    $U = explode(' ',$url); 

    $W =array(); 
    foreach ($U as $k => $u) { 
if (stristr($u,'http') || (count(explode('.',$u)) > 1)) { 
    unset($U[$k]); 
    return cleaner(implode(' ',$U)); 
} 
} 
    return implode(' ',$U); 
} 

$url = "Here is another funny site www.tinyurl.com/55555 and http://www.tinyurl.com/55555 and img.hostingsite.com/badpic.jpg"; 
echo "Cleaned: " . cleaner($url); 
संबंधित मुद्दे