golden
Member
من این مشکل را توی یه انجمن انگلیسی هم گفتم ولی مثل اینکه همه از regular expression ها میترسند. اکثرا به من پیشنهاد کرده اند که کار با regex ها را بیخیال شم. اما کار من گره خورده به استفاده از regexها.
گفتم بیام اینجا بگم شاید هموطنام یه کمکی به من بکنند.
مشکل اینجاست: من میخواهم یه فایل html را لود کنم و بعد توی textbox ها و textarea های موجود توی اون یه سری از مقادیر که از دیتابیس خونده میشه را بریزم و بعد اون را به کاربر نمایش بدم.
این کد html مورد نطر منه:
اینم regexهای منه که با استفاده از eregi_replace اونا را اجرا میکنم:
اما متاسفانه جوابی که php به من برمیگردونه اونی نیست که من میخواهم. نتیجه کارهای php اینه:
اما من انتظار داشتم که اینو به من برگردونه:
من از این در شگفتم که وقتی از موتورهای دیگه regex مثل editpadpro استفاده میکنم جواب درست به من برمیگردونند ولی php نه 8O :!: (البته بگم که من این کار را هم با php5 و هم با php4 انجام دادم ولی نتیجه هر دو یکی شد.)
گفتم بیام اینجا بگم شاید هموطنام یه کمکی به من بکنند.
مشکل اینجاست: من میخواهم یه فایل html را لود کنم و بعد توی textbox ها و textarea های موجود توی اون یه سری از مقادیر که از دیتابیس خونده میشه را بریزم و بعد اون را به کاربر نمایش بدم.
این کد html مورد نطر منه:
کد:
<textarea name="textarea"></textarea>
<textarea name="textarea2"></textarea>
<textarea name="textarea3"></textarea>
اینم regexهای منه که با استفاده از eregi_replace اونا را اجرا میکنم:
کد:
$regex = '<(textarea)(.*)(name=)("|\')(textarea)("|\')(.*)</textarea>';
$repregex = '<\1\2\3\4textarea\4\7one</\1>';
$file = eregi_replace($regex,$repregex,$file);
$regex ='<(textarea)(.*)(name=)("|\')(textarea1)("|\')(.*)</textarea>';
$repregex = '<\1\2\3\4textarea1\4\7tow</\1>';
$file = eregi_replace($regex,$repregex,$file);
$regex ='<(textarea)(.*)(name=)("|\')(textarea3)("|\')(.*)</textarea>';
$repregex = '<\1\2\3\4textarea\4\7three</\1>';
$file = eregi_replace($regex,$repregex,$file);
اما متاسفانه جوابی که php به من برمیگردونه اونی نیست که من میخواهم. نتیجه کارهای php اینه:
کد:
<textarea name="textarea"></textarea>
<textarea name="textarea2"></textarea>
<textarea name="textarea3">onetwothree</textarea>
اما من انتظار داشتم که اینو به من برگردونه:
کد:
<textarea name="textarea">one</textarea>
<textarea name="textarea2">two</textarea>
<textarea name="textarea3">three</textarea>
من از این در شگفتم که وقتی از موتورهای دیگه regex مثل editpadpro استفاده میکنم جواب درست به من برمیگردونند ولی php نه 8O :!: (البته بگم که من این کار را هم با php5 و هم با php4 انجام دادم ولی نتیجه هر دو یکی شد.)