<?php
$string = 'some text <div class"myClass" path="myPath_1">some content</div> some text
some text <div class"myClass" path="myPath_2">some content</div> some text...';
$matches = array();
$matches = preg_match_all('/path="([a-zA-Z0-9_]+)"/', $string, $matches, PREG_SET_ORDER);
$paths = array_map(function($m){
return $m[0];
}, $matches);
var_dump($paths);
// array("myPath_1", "myPath_2")
?>
ここでは、正規表現文字列をPHPのpreg_match_all関数path="([a-zA-Z0-9_]+)"
と一緒に使用しています。これは、パスと一致する必要があります。、ただし、有効なhtml属性ではありません。ご存知かどうかはわかりませんが、に変更することを検討してください。path
data-path
divタグを置き換える方法を尋ねているのは知っていますが、現在のhtmlの形式が正しくありません。代わりに<div class"myClass"
すべきです。<div class="myClass"
ただし、次のようなことができるはずです。
<?php
$string = 'some text <div class"myClass" path="myPath_1">some content</div> some text
some text <div class"myClass" path="myPath_2">some content</div> some text...';
$new_string = preg_replace('<div class=?"myClass" path="([a-zA-Z0-9_]+)">[a-zA-Z0-9 ]+</div>','<img src="$1">');
?>