Reza1607
دوشنبه 15 آبان 1391, 11:11 صبح
سلام دوستان من مي خوام با استفاده از regex بيام و رشته اي مثل
<fr:category_menu>
ID : <fr:categoryId>
<br />
Title : <fr:categoryTitle>
<hr />
</fr:category_menu>
رو به صورت زير جدا كنم
[0] => Array
(
[0]=><fr:category_menu>
ID : <fr:categoryId>
<br />
Title : <fr:categoryTitle>
<hr />
</fr:category_menu>
)
[1] => Array
(
[0]=>category_menu
)
[2] => Array
(
[0]=>ID : <fr:categoryId>
<br />
Title : <fr:categoryTitle>
<hr />
)
يعني بيام كل تگ + نام تگ + محتويات اون رو جدا سازي كنم براي اين كار من از پترن زير استفاده كردم
$pattern="(\<fr:([^\>\/]+)\>(.+)\</fr:\1\>)";
و با استفاده از دستور preg_match_all اون رو روي رشته مورد نظرم اجرا كردم ولي مشكل داره بعد از بررسي كه كردم ديدم كه كاراكتر \n ( اينتر) رو قبول نمي كنه براي همين هم پترن رو به صورت زير تغيير دادم
$pattern="(\<fr:([^\>\/]+)\>(.|\n)+\</fr:\1\>)";
با اين كار صفحه كلا اجرا نميشه
:ناراحت:
اگه كمك كنيد ممنون ميشم
اين رو هم بگم كه با يك نرم افزار پترن دوم رو تست كردم و جواب داد نمي دونم چرا وقتي تو فايلم مي زارم اجر نميشه
<fr:category_menu>
ID : <fr:categoryId>
<br />
Title : <fr:categoryTitle>
<hr />
</fr:category_menu>
رو به صورت زير جدا كنم
[0] => Array
(
[0]=><fr:category_menu>
ID : <fr:categoryId>
<br />
Title : <fr:categoryTitle>
<hr />
</fr:category_menu>
)
[1] => Array
(
[0]=>category_menu
)
[2] => Array
(
[0]=>ID : <fr:categoryId>
<br />
Title : <fr:categoryTitle>
<hr />
)
يعني بيام كل تگ + نام تگ + محتويات اون رو جدا سازي كنم براي اين كار من از پترن زير استفاده كردم
$pattern="(\<fr:([^\>\/]+)\>(.+)\</fr:\1\>)";
و با استفاده از دستور preg_match_all اون رو روي رشته مورد نظرم اجرا كردم ولي مشكل داره بعد از بررسي كه كردم ديدم كه كاراكتر \n ( اينتر) رو قبول نمي كنه براي همين هم پترن رو به صورت زير تغيير دادم
$pattern="(\<fr:([^\>\/]+)\>(.|\n)+\</fr:\1\>)";
با اين كار صفحه كلا اجرا نميشه
:ناراحت:
اگه كمك كنيد ممنون ميشم
اين رو هم بگم كه با يك نرم افزار پترن دوم رو تست كردم و جواب داد نمي دونم چرا وقتي تو فايلم مي زارم اجر نميشه