PDA

View Full Version : حذف و جایگزینی الگو های متفاوت



esmahdi
چهارشنبه 14 تیر 1391, 16:15 عصر
سلام. تصور کنید من می خوام تو یه رشته کد زیر رو

<div class="a44">
.....
.....
</div>
پاک کنم. یعنی دو تا تگ div با متحویات بینشون که کلاس a44 دارند.
یا مثلا تو کد زیر:

<div class="a55" style="margin:0 auto; float:right;">
.....
.....
</div>
که دو تا تگ div داره و کلاس اون a55 اون style رو فقط حذف کنم. برای این گونه جایگزینی ها و یا پاک کردن ها باید از چه توابعی کمک گرفت.
ممنون

esmahdi
پنج شنبه 15 تیر 1391, 12:25 عصر
نکنه امکان چنین کارایی نیست؟

blackmak
پنج شنبه 15 تیر 1391, 12:59 عصر
من تستش نکردم ولی 99% باید کار کنه.


<?php
function stripArgumentFromTags( $htmlString ) {
$regEx = '/([^<]*<\s*[a-z](?:[0-9]|[a-z]{0,9}))(?:(?:\s*[a-z\-]{2,14}\s*=\s*(?:"[^"]*"|\'[^\']*\'))*)(\s*\/?>[^<]*)/i'; // match any start tag

$chunks = preg_split($regEx, $htmlString, -1, PREG_SPLIT_DELIM_CAPTURE);
$chunkCount = count($chunks);

$strippedString = '';
for ($n = 1; $n < $chunkCount; $n++) {
$strippedString .= $chunks[$n];
}

return $strippedString;
}
?>

منبع: How can I remove attributes from an html tag? (http://stackoverflow.com/questions/770219/how-can-i-remove-attributes-from-an-html-tag)

blackmak
پنج شنبه 15 تیر 1391, 13:02 عصر
از اینم میتونید استفاده کنید:
HTML Purifier (http://htmlpurifier.org/)