2010-04-18 10 views
5

मैं चाहता हूं उदाहरण के लिए, आवर्ती पात्रों का उपयोग करके लाइनब्रेक आदि है कि लोगों को बनाने को दूर करने में सक्षम हो:प्रतीकों की दोहराने वाली रेखाओं के मिलान के लिए एक रेगेक्स की आवश्यकता है (उदाहरण: ------------- या *****************)

**************************************************** 
---------------------------------------------------- 
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 

आदि

मैं जो वर्ण यह, हो सकता है कि सभी नहीं कर रहे हैं से मेल खाएगी निर्दिष्ट करने के लिए नहीं करना चाहते हैं \ डब्ल्यू अक्षर?

यह भी ध्यान रखें कि वे हमेशा एक नई लाइन पर/अंत शुरू नहीं होगी ..

संभव है?

उत्तर

4

यह आप तय करने के लिए कि कौन सा सच विभाजक हैं सीमा की लंबाई पर फैसला करना होगा के लिए, यह N फोन है, तो आप कर सकते हैं:

$input = preg_replace('/(\W)\1{N-1,}/,'',$input); 

जो हटाता N या अधिक लगातार non-word चार।

+0

$ dd = preg_replace ('/ (\ W) \ 1 {10-1,}/i', '' $ dd); http://gskinner.com/RegExr/ पर भी परीक्षण करने के लिए प्रतीत नहीं होता है? – Haroldo

+1

मुझे अनुमान है कि छद्म कोड था, और उसका मतलब क्या था 'preg_replace ('/(\ W) \ 1 {9,}/i ',' '$ dd); '। घटाव आपके लिए था, रेगेक्स पार्सर नहीं;) –

संबंधित मुद्दे