ページ上のすべてのタグを置き換え、それにnCodeイメージリサイザーを追加する次のコードがあります。コードは次のとおりです。
function ncode_the_content($content) {
return preg_replace("/<img([^`|>]*)>/im", "<img onload=\"NcodeImageResizer.createOn(this);\"$1>", $content); }
}
私がする必要があるのは、画像が「noresize」のクラスを持っている場合、preg_matchを実行しないようにすることです。
ページのどこかに「noresize」クラスがあると、正しいクラスの画像だけでなく、すべての画像のサイズ変更が停止するように、私はそれを取得することができました。
助言がありますか?
アップデート:
私はこれで適切な球場に遠く離れていてもいますか?
function ncode_the_content($content) {
//Load the HTML page
$html = file_get_contents($content);
//Parse it. Here we use loadHTML as a static method
//to parse the HTML and create the DOM object in one go.
@$dom = DOMDocument::loadHTML($html);
//Init the XPath object
$xpath = new DOMXpath($dom);
//Query the DOM
$linksnoresize = $xpath->query( 'img[@class = "noresize"]' );
$links = $xpath->query( 'img[]' );
//Display the results as in the previous example
foreach($links as $link){
echo $link->getAttribute('onload'), 'NcodeImageResizer.createOn(this);';
}
foreach($linksnoresize as $link){
echo $link->getAttribute('onload'), '';
}
}