मैं एक निश्चित HTML पाठ का प्रारूपण कर रहा हूं।

उस पाठ में मेरे पास विभिन्न विशेषताओं के साथ कई <span> टैग हैं। मैं सब बदलना चाहता हूं

<span style="text-decoration: underline; color: #993300;">XXXXXXX</span> 

साथ में

<span style="color:#993300"><u>XXXXXXXX</span>

मैंनें इस्तेमाल किया

$cont = preg_replace("/<span style=\"text-decoration:\s(.+?)>(.+?)<\/span>/is", "<u>$2</u>", $cont);

उस को प्राप्त करने के लिए। लेकिन समस्या यह है कि अगर मेरे पास कई </span> टैग हैं, तो स्क्रिप्ट <span style="... और अंतिम </span> के बीच सब कुछ बदल देगी।

कृपया मदद करे।

2
Arun Shankar 22 पद 2015, 09:42

2 जवाब

सबसे बढ़िया उत्तर

इसे इस्तेमाल करे

preg_replace("/(<span\s*style\s*=\s*\"[^\"]*?)text-decoration\s*:\s*underline\s*;([^\"]*\"\s*>)((.(?!<\/span>))+)<\/span>/is", "$1$2<u>$3</u><\/span>")

जहाँ विचार को </span> तक हर वर्ण से मेल खाना है

(.(?!<\/span>))+
1
user172501 22 पद 2015, 10:47

आप JQuery का उपयोग करके इसे हल कर सकते हैं:

<script type="text/javascript">
  $(document).ready(function () {
    $('span').css('color', '#993300');
    $('span').css('text-decoration', 'none');
});
</script>

यदि आप JQuery की तुलना में नए हैं, तो <head> पुस्तकालय <head> इस उदाहरण में शामिल हैं:

<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
</head>

अब आप कोड के ऊपर का उपयोग कर सकते हैं, यह काम करेगा।

0
devpro 23 पद 2015, 06:27