मुझे पता है कि प्रश्न शीर्षक बहुत दोहराव दिखता है। लेकिन कुछ समाधान मुझे यहां नहीं मिला। इस पैटर्न मैं http://
और https://
जो भला है साथ यूआरएल को खोजने के लिए कर रहा था का उपयोग करphp और regex के माध्यम से पाठ स्ट्रिंग से यूआरएल ढूँढना?
$pattern = '`.*?((http|https)://[\w#$&+,\/:;[email protected]]+)[^\w#$&+,\/:;[email protected]]*?`i';
if (preg_match_all($pattern,$url_string,$matches)) {
print_r($matches[1]);
}
:
मैं यूआरएल प्रपत्र पाठ स्ट्रिंग खोजने की जरूरत है। लेकिन मैं उपयोगकर्ता इनपुट है, जहां लोगों को www.domain.com
तरह यूआरएल जोड़ने के भी domain.com
तो, मैं स्ट्रिंग मान्य करने के लिए पहले जहां मैं उन्हें पहले आम प्रोटोकॉल http://
साथ www.domain.com
domain.com
जगह ले सकता है की जरूरत है। या मुझे और अधिक अच्छे पैटर्न के साथ आने की जरूरत है?
मैं रेगेक्स के साथ अच्छा नहीं हूं और नहीं जानता कि क्या करना है।
मेरा विचार पहले http://
और https://
साथ यूआरएल की खोज कर रहा है उन्हें एक सरणी में डाल तो तब पाठ स्ट्रिंग में ("") अंतरिक्ष के साथ इन यूआरएल की जगह इसके लिए अन्य पैटर्न का उपयोग करें। लेकिन मुझे यकीन नहीं है कि किस पैटर्न का उपयोग करना है।
मैं इस $url_string = preg_replace($pattern, ' ', $url_string);
उपयोग कर रहा हूँ, लेकिन यह निकालता है, यदि कोई हो www.domain.com
या domain.com
यूआरएल दो मान्य url साथ http://
के बीच या https://
आप मदद कर सकते हैं कि बहुत अच्छा होगा।
चीजों को और अधिक स्पष्ट करने के लिए:
मैं एक पैटर्न या किसी अन्य विधि मैं कहाँ एक पाठ डंक के सभी URL पा सकते हैं की जरूरत है। यूआरएल के उदाहरण हैं:
- domain.com
- www.domain.com
- http://www.domain.com
- http://domain.com
- https://www.domain.com
- https://domain.com
धन्यवाद! 5.
क्या आप यूआरएल फ़ील्ड के साथ किसी फॉर्म से उपयोगकर्ता इनपुट को मान्य नहीं कर रहे हैं? या क्या आप इसके अंदर पाए गए यूआरएल की सूची उत्पन्न करने के लिए टेक्स्ट का एक पेज/ब्लॉक स्क्रैप कर रहे हैं? "पाठ स्ट्रिंग" का एक पूरा उदाहरण जिसे आप पार्स करने का प्रयास कर रहे हैं, सहायक हो सकता है। – baraboom
@baraboom: हाँ, उपयोगकर्ता इनपुट टेक्स्टबॉक्स से। जहां लोग इस ट्विटर की तरह इनपुट कर सकते हैं: twitter.com/user facebook: http://facebook.com आदि .. – Sisir