Autor | Zpráva | ||
---|---|---|---|
Marek12345-9 Profil * |
#1 · Zasláno: 29. 3. 2011, 13:15:12
Dobrý deň,
potrebujem toto uraviť tak aby keď na konci tagu je lomitko /> nenahradilo a keď nieje nahradilo ide oto že kód je <img blablabla /> //nenahradí <img blabla > //nahradía to a to isté hr|meta|link|br|base|frame|input len neviem ako to urobiť aby bralo iba to čo potrebujem $content = preg_replace("/<(img|hr|meta|link|br|base|frame|input)([^>]*)>/mi", "<$1$2 />", $content); |
||
Kajman_ Profil * |
#2 · Zasláno: 29. 3. 2011, 13:21:20
([^>]*[^\\/])?>/mi |
||
Chamurappi Profil |
#3 · Zasláno: 29. 3. 2011, 14:03:48
Reaguji na Kajmana:
Myslím, že tak snadno to nepůjde, protože do [^>]* se vsákne i to lomítko.
Reaguji na Marka12345-9: Jestli má jít o výčet prázdných elementů, ještě ti tam chybí <area> , <col> , <embed> , <param> a <wbr> .
K čemu to potřebuješ? Pokud používáš HTML, prohlížeče ta lomítka stejně ignorují. |
||
Marek12345-9 Profil * |
#4 · Zasláno: 29. 3. 2011, 14:14:19
ide o w3C, plugin a toto by malo ísť no nejde...
|
||
Chamurappi Profil |
#5 · Zasláno: 29. 3. 2011, 14:21:48
Reaguji na Marka12345-9:
„ide o w3C“ Proč? Optimalizuješ kód primárně pro W3C validátor? Zkus jiný. V HTML je to lomítko nadbytečné a kdybys používal XHTML, tak by ti bez lomítka naopak stránka nefungovala. |
||
Kajman_ Profil * |
#6 · Zasláno: 29. 3. 2011, 14:25:29
Chamurappi:
„do [^>]* se vsákne i to lomítko“ Poslední znak nesežere *, po hvězdičce je tam povinný právě jeden znak různý od lomítka. |
||
Marek12345-9 Profil * |
#7 · Zasláno: 30. 3. 2011, 12:28:24
tak horný problém vyriešený použil som
str_replace("/>", ">", $content) no teraz ešte potrebujem toto rozchodiť a neviem kde mám chybu $output = preg_replace("/<html dir=([a-z]*) lang=([a-z]*)>/im", "<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=$2 lang=$2>", $output); |
||
peta Profil |
#8 · Zasláno: 30. 3. 2011, 13:09:59
Marek12345-9:
<?php @ini_set('error_reporting',E_ALL); @ini_set("display_errors","on"); error_reporting(E_ALL); $output = ' <html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml" dir="ltr" lang="en" id="vbulletin_html"> '; echo '<br>'.htmlspecialchars($output); $output = preg_replace("/<html dir=([a-z]*) lang=([a-z]*)>/im", "<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=$2 lang=$2>", $output); echo '<br>'.htmlspecialchars($output); ?> Nevim, jak ty, ale ja vidim spoustu jinych znaku nez mas tvuj reg. vyraz. Ten je vyhovuje kombinaci <html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml" dir="ltr" lang="en" id="vbulletin_html"> regularni vyraz vsak vyhovuje jen pro kombinaci <html dir=ltr lang=en> Nesmis tam dat ani zalomeni radku, ani mezeru navic, jinak se to nechyti. <html dir=ltr lang=en> |
||
Časová prodleva: 13 let
|
0