Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
╘юЁєь√ яюЁЄрыр PHP.SU :: ┬хЁёш  фы  яхўрЄш :: preg_replace
╘юЁєь√ яюЁЄрыр PHP.SU » » ┬юяЁюё√ эютшўъют » preg_replace

╤ЄЁрэшЎ (1): [1]
 

1. rgetValue - 16 └туєёЄр, 2013 - 22:18:46 - яхЁхщЄш ъ ёююс∙хэш■
─юсЁюую тЁхьхэш ёєЄюъ!
═ряюьэ■, ўЄю   їюЄхы ёЁхфёЄтрьш php яЁюшчтхёЄш яюшёъ-чрьхэє эхъшї ёё√ыюъ т сф
╧ЁшьхЁ ёё√ыюъ Єръющ -
CODE (html):
ёъюяшЁютрЄ№ ъюф т сєЇхЁ юсьхэр
  1. <a href=\"/board/chto_to/dir123\" target=\"_blank\">ssulka_v_bd</a>

┬юЄ ёрь ъюф, ъюЄюЁ√ь   їюЄхы ¤Єю ЁхрышчютрЄ№:

PHP:
ёъюяшЁютрЄ№ ъюф т сєЇхЁ юсьхэр
  1. <?PHP
  2. $db = mysql_connect("localhost", "root", "") or die("═х ьюує ёюхфшэшЄ№ё  ё MySQL.");
  3. mysql_select_db("dle") or die("═х ьюує яюфъы■ўшЄ№ё  ъ ┴─.");
  4.  
  5. $replace = "<a.+?href.*?/board.*?</a>";
  6. $rows = mysql_query("SELECT `id`, `xfields` FROM `dle_post`");
  7. while( $row = mysql_fetch_assoc($rows) ) {
  8. $text = preg_replace($replace,``, $row[`xfields`]);
  9. mysql_query("update `dle_post` set `xfields`=`$text` where `id`=row[id]");
  10. }
  11. ?>


╥хёЄшы эр denwer'e
CMS DLE 9.8
┴рчр фрээ√ї - dle
╥рсышЎр - dle_post
╤ЄюысхЎ - xfields

╤эрўрыр ъюуфр с√ыю #<a.+?href.*?/board.*?</a># - ёхЁтхЁ чртшёры ш ярфры т ЁхъєЁёш■...
╦╬├ (╬ЄюсЁрчшЄ№)

╚чьхэшы Maximum execution time эр чэрўхэшх 180, Єюцх ёрьюх ...

╧юЄюь шчьхэшы эр <a.+?href.*?/board.*?</a> - ёхЁтхЁ юЄфртры ю°шсъє
CODE (text):
ёъюяшЁютрЄ№ ъюф т сєЇхЁ юсьхэр
  1. Warning: preg_replace() [function.preg-replace]: No ending matching delimiter '>' found in W:\home\local.copy\public_html\test.php on line 8


╧юўшЄрт ьрэєры яю preg_replace ёфхыры Єръ - /<a.+?href.*?/board.*?</a>/ - ёхЁтхЁ юя Є№ т√фры ю°шсъє
CODE (text):
ёъюяшЁютрЄ№ ъюф т сєЇхЁ юсьхэр
  1. Warning: preg_replace() [function.preg-replace]: Unknown modifier 'b' in W:\home\local.copy\public_html\test.php on line 8


╥ръ-цх яЁютхЁшы яЁртшы№эюёЄ№ эряшёрэш  Ёхуєы Ёэюую т√Ёрцхэш  REGEXP(), тюЄ Ёхчєы№ЄрЄ:

╨хчєы№ЄрЄ (╬ЄюсЁрчшЄ№)


╧ЁюёьюЄЁхЄ№ т ёхЁтшёх ьюцэю ЄєЄ:
эх Ёхъырьр (╬ЄюсЁрчшЄ№)


╧ыц ъЄю ьюцхЄ яюьюушЄх Ёх°шЄ№ фрээє■ чрфрўє!

╟рЁрэхх сыруюфрЁхэ єьэ√ь юЄтхЄрь!
2. DelphinPRO - 16 └туєёЄр, 2013 - 22:30:45 - яхЁхщЄш ъ ёююс∙хэш■
яхЁт√щ ёшьтюы т Ёхуєы Ёэюь т√Ёрцхэшш  ты хЄё  юуЁрэшўшЄхыхь. ┬ёЄЁхЄшт ёыхфє■∙шщ Єръющ ёшьтюы ярЁёхЁ ёўшЄрхЄ, ўЄю Ёхуєы Ёър чръюэўхэр, ш ффры№°х шфєЄ ьюфшЇшърЄюЁ√. ╥.х. т яюёыхфэхь трЁшрэЄх яюыєўрхЄё  Єръ:
/<a.+?href.*?/board.*?</a>/
╫Єюс√ ¤Єюую эх с√ыю - ёшьтюы√ ёыхфєхЄ ¤ъЁрэшЁютрЄ№, шыш т√сшЁрЄ№ фы  юуЁрэшўшЄхыхщ Єръшх, ъюЄюЁ√х эх тёЄЁхўр■Єё  т ёрьюь Ёхуєы Ёэюь т√Ёрцхэшш (ўрёЄю яюфїюфшЄ "~" шыш "#")
/<a.+?href.*?\/board.*?<\/a>/
Єръ ўЄю яхЁт√щ трЁшрэЄ є трё с√ы яЁртшы№эхх.

═ю яЁюсыхьр т ёрьющ Ёхуєы Ёъх. ╩ръ-Єю ъЁштю ш эхъЁрёштю юэр ёюёЄртыхэр.
╩ръ ёюёЄртшЄ№ яЁртшы№эю, єт√, эх яюфёърцє, ыхэ№ ..

эє ш фры№°х яю ъюфє є трё яюыэю ъюё ъют ё ърт√ўърьш (`), ъюЄюЁ√х фюыцэ√ с√Є№ (')
3. ╤рэ√ў - 16 └туєёЄр, 2013 - 22:37:37 - яхЁхщЄш ъ ёююс∙хэш■
rgetValue, юяш°шЄх ъЁрЄъю, ўЄю хёЄ№, ўЄю эєцэю яюыєўшЄ№. ╞хырЄхы№эю эр яЁшьхЁх, ьюы тюЄ ¤ЄюЄ ЄхъёЄ хёЄ№, р эєцэю ўЄюс юэ ёЄры Єръшь.
4. rgetValue - 16 └туєёЄр, 2013 - 22:40:38 - яхЁхщЄш ъ ёююс∙хэш■
DelphinPRO, сюы№°юх ёярёшсю трь чр ъюЁЁхъЄшЁютъє!
"═ю яЁюсыхьр т ёрьющ Ёхуєы Ёъх. ╩ръ-Єю ъЁштю ш эхъЁрёштю юэр ёюёЄртыхэр" - Єръ юэр эхяЁртшы№эю ёюёЄртыхэр шыш цх яЁюёЄю эх ъЁрёштю?
╚чтшэшЄх,   яЁюёЄю эхьэюую эютшў┼ъ.
(─юсртыхэшх)
╤рэ√ў, хёЄ№ т сф dle т ЄрсышЎх dle_post т ёЄюысЎх xfields эхъшщ.ЄхъёЄ ш юўхэ№ ьэюую Ёрчэ√ї ёё√ыюъ т ъюЄюЁ√ї хёЄ№ /board, эє эряЁшьхЁ:

<a href=\"/board/chto_to/dir123\" target=\"_blank\">ssulka_v_bd</a>

╟рфрўр:
╤ЁхфёЄтрьш php чрьхэшЄ№ тёх ¤Єш ёё√ыъш эр эшўхую,Є.х єфрышЄ▄
5. ╤рэ√ў - 16 └туєёЄр, 2013 - 23:27:12 - яхЁхщЄш ъ ёююс∙хэш■
╧юцрыєщёЄр.
▀ ё dle эх чэръюь, эю яЁхфяюыюцшы, ўЄю яюых id фюыцэю с√Є№.
PHP:
ёъюяшЁютрЄ№ ъюф т сєЇхЁ юсьхэр
  1. $db = new MySQLi('localhost', 'root', '', 'dle');
  2. if ($db->connect_errno) {
  3.     die($db->connect_error);
  4. }
  5.  
  6. $db->set_charset('utf-8');
  7.  
  8. $posts = $db->query('
  9.    SELECT `id`, `xfields`
  10.    FROM `dle_post`
  11. ');
  12. if (!$posts) {
  13.     die($db->error);
  14. }
  15.  
  16. $stmt = $db->prepare('
  17.    UPDATE `dle_post`
  18.    SET `xfields` = ?
  19.    WHERE `id` = ?
  20. ');
  21. if (!$stmt) {
  22.     die($db->error);
  23. }
  24.  
  25. while ($res = $posts->fetch_object()) {
  26.     $xfields = preg_replace('#<a.*\Wboard\W.*</a>#i', '', $res->xfields, -1, $count);
  27.     if ($count) {
  28.         $stmt->bind_param('si', $xfields, $res->id);
  29.         if (!$stmt->execute()) {
  30.             die($stmt->error);
  31.         }
  32.     }
  33. }
  34.  
  35. $stmt->close();
  36. $db->close();
6. rgetValue - 16 └туєёЄр, 2013 - 23:33:25 - яхЁхщЄш ъ ёююс∙хэш■
╤рэ√ў, сюы№°юх трь ёярёшсю!
╟ртЄЁр яюяЁюсє■ чрЄхёЄшЄ№...
═ю   яюўхьє-Єю єтхЁхэ ўЄю тёх сєфхЄ ЁрсюЄрЄ№...
─р, т√ яЁрт√ - яюых id хёЄ№..
7. rgetValue - 17 └туєёЄр, 2013 - 10:30:56 - яхЁхщЄш ъ ёююс∙хэш■
╤рэ√ў, х∙х Ёрч сюы№°юх ёярёшсю!
┬ёх ёЁрсюЄрыю эр "єЁр"!
╧хЁхфхыры эхьэюую preg_replace єёыютшх юЄсюЁр ш єфрышы, х∙х эхъюЄюЁ√х эхэєцэ√х фрээ√х шч ┴─!
╤ъЁшяЄ тр° ЄхяхЁ№ ёхсх ёюїЁрэшы ш ЁрёяхўрЄры ╒р-їр

 

Powered by ExBB FM 1.0 RC1