2011-06-05 20 views
6

$str एक foreach में कुछ मूल्य है।php अगर str_replace को कैसे बनाया जाए?

$str = str_replace('_name_','_title_',$str); 

if str_replace कैसे बनाएं?

मैं if have a str_replace बात करना चाहता हूं तो $str गूंजें, अन्यथा नहीं, वर्तमान foreach को अगले पर कूदें। धन्यवाद।

उत्तर

18

str_replace() पर चौथा पैरामीटर है जो कि प्रतिस्थापन की संख्या पर सेट है। तो कुछ भी नहीं बदल दिया गया था, यह 0 पर सेट है एक संदर्भ चर ड्रॉप वहाँ, और उसके बाद में यह जांच लें कि आपका अगर बयान:

foreach ($str_array as $str) { 
    $str = str_replace('_name_', '_title_', $str, $count); 

    if ($count > 0) { 
     echo $str; 
    } 
} 
5

आप एक स्ट्रिंग एक और स्ट्रिंग के भीतर पाया जाता है कि क्या परीक्षण करने के लिए की जरूरत है, तो आप इस तरह कर सकते हैं ।

<?php 
if(strpos('_name_', $str) === false) { 
    //String '_name_' is not found 
    //Do nothing, or you could change this to do something 
} else { 
    //String '_name_' found 
    //Replacing it with string '_title_' 
    $str = str_replace('_name_','_title_',$str); 
} 
?> 

http://php.net/manual/en/function.strpos.php

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

शुभकामनाएं।

+0

स्ट्रॉप्स को पहले घास होना है। यह सही है: (स्ट्रॉप्स ($ str, '_name_') === झूठा) –

0

मैं जानता हूँ कि यह एक पुराने सवाल है, लेकिन यह मुझे मेरे हाल जाँच समस्या को हल करने के लिए एक दिशानिर्देश देते हैं, तो मेरे समाधान किया गया था:

$contn = "<p>String</p><p></p>"; 
$contn = str_replace("<p></p>","",$contn,$value); 
if ($value==0) { 
$contn = nl2br($contn); 
} 

निर्माण पूरी तरह से मेरे लिए। आशा है कि यह किसी और के लिए उपयोगी है।

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