<?php
function string_sanitizer($feed_status) {
/*echo $feed_status.PHP_EOL;
<img src="http://54.174.50.242/file/pic/emoticon/default/smile.png" alt="Smile" title="Smile" title="v_middle" /><img src="http://54.174.50.242/file/pic/emoticon/default/smile.png" alt="Smile" title="Smile" title="v_middle" /><img src="http://54.174.50.242/file/pic/emoticon/default/smile.png" alt="Smile" title="Smile" title="v_middle" />*/
$temp = $feed_status;
$doc = new DOMDocument();
@$doc->loadHTML($feed_status, LIBXML_HTML_NODEFDTD);
$imageTags = $doc->getElementsByTagName('img');
/*print_r($imageTags);
echo PHP_EOL;
DOMNodeList Object
(
[length] => 3
)*/
'evilgrin.png' => '\ue404',
'grin.png' => '\ue415',
'happy.png' => '\ue057',
'smile.png' => '\ue056',
'surprised.png' => '\ue107',
'tongue.png' => '\ue105',
'unhappy.png' => '\ue403',
'waii.png' => '\ue407',
'wink.png' => '\ue405',
);
// regression
$i = $imageTags->length - 1;
/*echo "Value of i:".$i.PHP_EOL;
Value of i:2*/
while($i > -1) {
//echo "Loop Counter :".$i.PHP_EOL;
$tag = $imageTags->item($i);
/*print_r($tag);
echo PHP_EOL;*/
$basename = basename($tag->getAttribute('src')); //echo $basename.PHP_EOL;
if(isset($replacements[$basename])) { //echo "In a loop :".$i.PHP_EOL; //if the file name matches make replacements
$r = $replacements[$basename];
//echo "Value of r : ".$r.PHP_EOL;
$text = $doc->createTextNode($r);
/*print_r($text);
echo PHP_EOL;*/
$tag->parentNode->replaceChild($text, $tag);
/*print_r($tag);
echo PHP_EOL;*/
}
$i--;
}
//I think till here everything works fine but issue is in saving this newly generated HTML
// append to string container again
$feed_status = '';
foreach($doc->childNodes->item(0)->childNodes->item(0)->childNodes as $e) {
}
if($feed_status == '') {
}
return $feed_status;
}
$str_sample = '<img src="http://54.174.50.242/file/pic/emoticon/default/smile.png" alt="Smile" title="Smile" class="v_middle" /><img src="http://54.174.50.242/file/pic/emoticon/default/smile.png" alt="Smile" title="Smile" class="v_middle" /><img src="http://54.174.50.242/file/pic/emoticon/default/smile.png" alt="Smile" title="Smile" class="v_middle" />';
$jumbo = string_sanitizer($str_sample);
echo $jumbo;
?>
PD9waHAKICBmdW5jdGlvbiBzdHJpbmdfc2FuaXRpemVyKCRmZWVkX3N0YXR1cykgeyAKICAgIC8qZWNobyAkZmVlZF9zdGF0dXMuUEhQX0VPTDsKPGltZyBzcmM9Imh0dHA6Ly81NC4xNzQuNTAuMjQyL2ZpbGUvcGljL2Vtb3RpY29uL2RlZmF1bHQvc21pbGUucG5nIiBhbHQ9IlNtaWxlIiB0aXRsZT0iU21pbGUiIHRpdGxlPSJ2X21pZGRsZSIgLz48aW1nIHNyYz0iaHR0cDovLzU0LjE3NC41MC4yNDIvZmlsZS9waWMvZW1vdGljb24vZGVmYXVsdC9zbWlsZS5wbmciIGFsdD0iU21pbGUiIHRpdGxlPSJTbWlsZSIgdGl0bGU9InZfbWlkZGxlIiAvPjxpbWcgc3JjPSJodHRwOi8vNTQuMTc0LjUwLjI0Mi9maWxlL3BpYy9lbW90aWNvbi9kZWZhdWx0L3NtaWxlLnBuZyIgYWx0PSJTbWlsZSIgdGl0bGU9IlNtaWxlIiB0aXRsZT0idl9taWRkbGUiIC8+Ki8KCiAgICAkdGVtcCA9ICRmZWVkX3N0YXR1czsKICAgICRkb2MgPSBuZXcgRE9NRG9jdW1lbnQoKTsKICAgIEAkZG9jLT5sb2FkSFRNTCgkZmVlZF9zdGF0dXMsIExJQlhNTF9IVE1MX05PREVGRFREKTsKICAgICRpbWFnZVRhZ3MgPSAkZG9jLT5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaW1nJyk7CiAgICAvKnByaW50X3IoJGltYWdlVGFncyk7CiAgICAgIGVjaG8gUEhQX0VPTDsgICAgICAgIAogICAgRE9NTm9kZUxpc3QgT2JqZWN0CiAgICAoCiAgICAgICAgW2xlbmd0aF0gPT4gMwogICAgKSovCiAgICAkcmVwbGFjZW1lbnRzID0gYXJyYXkoCiAgICAgICdldmlsZ3Jpbi5wbmcnID0+ICdcdWU0MDQnLAogICAgICAnZ3Jpbi5wbmcnID0+ICdcdWU0MTUnLAogICAgICAnaGFwcHkucG5nJyA9PiAnXHVlMDU3JywKICAgICAgJ3NtaWxlLnBuZycgPT4gJ1x1ZTA1NicsCiAgICAgICdzdXJwcmlzZWQucG5nJyA9PiAnXHVlMTA3JywKICAgICAgJ3Rvbmd1ZS5wbmcnID0+ICdcdWUxMDUnLAogICAgICAndW5oYXBweS5wbmcnID0+ICdcdWU0MDMnLAogICAgICAnd2FpaS5wbmcnID0+ICdcdWU0MDcnLAogICAgICAnd2luay5wbmcnID0+ICdcdWU0MDUnLAogICAgKTsKCiAgICAvLyByZWdyZXNzaW9uIAogICAgJGkgPSAkaW1hZ2VUYWdzLT5sZW5ndGggLSAxOwogICAgLyplY2hvICJWYWx1ZSBvZiBpOiIuJGkuUEhQX0VPTDsKICAgICAgVmFsdWUgb2YgaToyKi8gICAgIAogICAgd2hpbGUoJGkgPiAtMSkgeyAKICAgICAgLy9lY2hvICJMb29wIENvdW50ZXIgOiIuJGkuUEhQX0VPTDsKCiAgICAgICR0YWcgPSAkaW1hZ2VUYWdzLT5pdGVtKCRpKTsKICAgICAgLypwcmludF9yKCR0YWcpOwogICAgICBlY2hvIFBIUF9FT0w7Ki8KICAgICAgJGJhc2VuYW1lID0gYmFzZW5hbWUoJHRhZy0+Z2V0QXR0cmlidXRlKCdzcmMnKSk7CiAgICAgIC8vZWNobyAkYmFzZW5hbWUuUEhQX0VPTDsKICAgICAgaWYoaXNzZXQoJHJlcGxhY2VtZW50c1skYmFzZW5hbWVdKSkgeyAvL2VjaG8gIkluIGEgbG9vcCA6Ii4kaS5QSFBfRU9MOyAKICAgICAgICAvL2lmIHRoZSBmaWxlIG5hbWUgbWF0Y2hlcyBtYWtlIHJlcGxhY2VtZW50cwogICAgICAgICRyID0gJHJlcGxhY2VtZW50c1skYmFzZW5hbWVdOwogICAgICAgIC8vZWNobyAiVmFsdWUgb2YgciA6ICIuJHIuUEhQX0VPTDsKICAgICAgICAkdGV4dCA9ICRkb2MtPmNyZWF0ZVRleHROb2RlKCRyKTsKICAgICAgICAvKnByaW50X3IoJHRleHQpOwogICAgICAgIGVjaG8gUEhQX0VPTDsqLyAKICAgICAgICAkdGFnLT5wYXJlbnROb2RlLT5yZXBsYWNlQ2hpbGQoJHRleHQsICR0YWcpOwogICAgICAgIC8qcHJpbnRfcigkdGFnKTsKICAgICAgICBlY2hvIFBIUF9FT0w7Ki8KICAgICAgfQogICAgICAkaS0tOwogICAgfQogICAgLy9JIHRoaW5rIHRpbGwgaGVyZSBldmVyeXRoaW5nIHdvcmtzIGZpbmUgYnV0IGlzc3VlIGlzIGluIHNhdmluZyB0aGlzIG5ld2x5IGdlbmVyYXRlZCBIVE1MCgogICAgLy8gYXBwZW5kIHRvIHN0cmluZyBjb250YWluZXIgYWdhaW4KICAgICRmZWVkX3N0YXR1cyA9ICcnOwogICAgZm9yZWFjaCgkZG9jLT5jaGlsZE5vZGVzLT5pdGVtKDApLT5jaGlsZE5vZGVzLT5pdGVtKDApLT5jaGlsZE5vZGVzIGFzICRlKSB7CiAgICAgICRmZWVkX3N0YXR1cyAuPSBhZGRzbGFzaGVzKCRkb2MtPnNhdmVIVE1MKCRlKSk7CiAgICB9ICAgCgogICAgaWYoJGZlZWRfc3RhdHVzID09ICcnKSB7CiAgICAgICRmZWVkX3N0YXR1cyA9IHN0cmlwX3RhZ3MoJHRlbXApOyAgICAgICAgCiAgICB9CiAgICByZXR1cm4gJGZlZWRfc3RhdHVzOwogIH0KCiRzdHJfc2FtcGxlID0gJzxpbWcgc3JjPSJodHRwOi8vNTQuMTc0LjUwLjI0Mi9maWxlL3BpYy9lbW90aWNvbi9kZWZhdWx0L3NtaWxlLnBuZyIgYWx0PSJTbWlsZSIgdGl0bGU9IlNtaWxlIiBjbGFzcz0idl9taWRkbGUiIC8+PGltZyBzcmM9Imh0dHA6Ly81NC4xNzQuNTAuMjQyL2ZpbGUvcGljL2Vtb3RpY29uL2RlZmF1bHQvc21pbGUucG5nIiBhbHQ9IlNtaWxlIiB0aXRsZT0iU21pbGUiIGNsYXNzPSJ2X21pZGRsZSIgLz48aW1nIHNyYz0iaHR0cDovLzU0LjE3NC41MC4yNDIvZmlsZS9waWMvZW1vdGljb24vZGVmYXVsdC9zbWlsZS5wbmciIGFsdD0iU21pbGUiIHRpdGxlPSJTbWlsZSIgY2xhc3M9InZfbWlkZGxlIiAvPic7CiRqdW1ibyA9IHN0cmluZ19zYW5pdGl6ZXIoJHN0cl9zYW1wbGUpOwplY2hvICRqdW1ibzsKPz4=