2009-07-10 8 views
47

से टैग हटाएं अरे, मुझे स्ट्रिंग से सभी छवियों को हटाने की आवश्यकता है और मुझे बस ऐसा करने का सही तरीका नहीं मिल रहा है।PHP - स्ट्रिंग

यहाँ मैं क्या tryed है, लेकिन यह काम नहीं करता है:

preg_replace("/<img[^>]+\>/i", "(image) ", $content); 
echo $content; 

कोई भी विचार?

+3

$ सामग्री = preg_replace (..., $ सामग्री); –

उत्तर

124

> के सामने \ छोड़ने का प्रयास करें।

संपादित करें: मैंने अभी आपके रेगेक्स का परीक्षण किया है और यह ठीक काम करता है। यह मैं क्या उपयोग किया जाता है:

<? 
    $content = "this is something with an <img src=\"test.png\"/> in it."; 
    $content = preg_replace("/<img[^>]+\>/i", "(image) ", $content); 
    echo $content; 
?> 

परिणाम है:

 
this is something with an (image) in it. 
+3

क्या आप इसे छवि (छवि) को छोड़कर बना सकते हैं, यह एक छवि की alt के साथ प्रतिस्थापित होगा? – MysteryDev

12

मैं strip_tags पद्धति का उपयोग करके सुझाव है।

17

आपको परिणाम $content पर preg_replace के रूप में मूल स्ट्रिंग को संशोधित करने की आवश्यकता नहीं है।

$content = preg_replace("/<img[^>]+\>/i", "(image) ", $content); 
7

शॉन यह ठीक काम करता है मैं सिर्फ इस कोड

$content = preg_replace("/<img[^>]+\>/i", " ", $content); 
echo $content; 

// परिणाम यह केवल सादे पाठ है का उपयोग किया है। यह काम करता हैं!!!

1

मैं एक समाचार कहानी के पहले 300 शब्दों को एक पूर्वावलोकन के रूप में प्रदर्शित करना चाहता था, जिसका दुर्भाग्य से मतलब था कि यदि किसी कहानी की पहली 300 शब्दों में कोई छवि थी तो इसे पूर्वावलोकन के सूची में प्रदर्शित किया गया था जो वास्तव में मेरे लेआउट से गड़बड़ कर रहा था। मैंने उपरोक्त कोड का उपयोग अपने डेटाबेस से ली गई स्ट्रिंग से सभी छवियों को छिपाने के लिए किया और यह अद्भुत काम करता है!

$news = $row_latest_news ['content']; 
$news = preg_replace("/<img[^>]+\>/i", "", $news); 
if (strlen($news) > 300){ 
echo substr($news, 0, strpos($news,' ',300)).'...'; 
} 
else { 
echo $news; 
} 
+0

टिप्पणियां मिनी-मार्कडाउन स्वरूपण का उपयोग करती हैं: [लिंक] (http://example.com) _italic_ ** बोल्ड ** 'कोड'। पोस्ट लेखक हमेशा आपकी टिप्पणी के बारे में अधिसूचित किया जाएगा। पिछले टिप्पणीकर्ता को सूचित करने के लिए, उनके उपयोगकर्ता नाम का उल्लेख करें: – xavip

-4
$content = strip_tags($content, '<img>'); 

एक स्वच्छ और सरल तरीके से

+3

स्ट्रिप_टैग() के लिए दूसरा पैरामीटर स्वीकार्य टैग के लिए है, यह निर्दिष्ट नहीं करना कि कौन से टैग निकालना है। वास्तव में एक व्यस्त संस्करण होना चाहिए लेकिन वहां नहीं है (जहां तक ​​मुझे पता है)। – twistedpixel

-1
$this->load->helper('security'); 
$h=mysql_real_escape_string(strip_image_tags($comment)); 

है उपयोगकर्ता इनपुट

 
<img src="#"> 

डेटाबेस तालिका में सिर्फ चरित्र इस # मुझे

के लिए

वर्क्स सम्मिलित करें

-3

बस CodeIgniter के form_validation वर्ग का उपयोग करें:

strip_image_tags($str). 

$this->load->library('form_validation'); 
$this->form_validation->set_rules('nombre_campo', 'label', 'strip_image_tags'); 
+3

क्या उसने कहा, वह CodeIgniter का उपयोग कर रहा है? – galdikas

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