22. november 2007 - 17:19
Der er
15 kommentarer og 1 løsning
Udlad tags i regulært udtryk
Hvordan undlader jeg <h(1-6)> OG <p>? Jeg tror det er noget alá nedenstående. (?!<h[1-6]) (?!(<h[1-6]|<p))
Annonceindlæg fra Computerworld it-jobbank
22. november 2007 - 17:31
#1
Hvad laver udtrykket som det ser ud nu? Smid dit nuværende udtryk, så skal vi forsøge at modificere :) -- Morten Barklund
22. november 2007 - 17:51
#2
/^(?!<h[1-6])(.+)$/i Den skulle gerne hente alle linjer der har noget indhold, men IKKE starter med "<h(1-6)". Nu vil jeg bare gerne gøre det lettere at implementere flere tags der skal undlades.
22. november 2007 - 18:27
#3
/^(?!<(?:h[1-6]|p\s)(?:>|\s))(.+)$/i Det skulle gerne undlade linjer, der starter med < efterfulgt af h[1-6] eller p efterfulgt af > eller whitespace. Så undgår du at fange pre-tags når du kun vil fange p-tags :) -- Morten Barklund
22. november 2007 - 18:27
#4
hov... /^(?!<(?:h[1-6]|p)(?:>|\s))(.+)$/i Sådan :) Der var lige lidt for meget whitespace :)
22. november 2007 - 18:35
#5
Alternativt: if (! preg_match("/^<(h[1-6]|p|a|img).*/i#", $dinTekst)) ...
23. november 2007 - 10:08
#6
#? Eller var det en typo? :)
23. november 2007 - 10:09
#7
(og der er vist ingen der har sagt php, men det er selvfølgelig implementerbart i andre sprog også)
23. november 2007 - 10:21
#8
# er en typo Nej, der er ingen der har sagt PHP - men temmeligt mange af jalaba's andre spørgsmål er i PHP kategorien, så mon ikke det er et sikkert gær. :^)
23. november 2007 - 11:42
#9
Mmm... gær...
23. november 2007 - 20:34
#10
Jeg kan ikke få din til at virke Nielle. Men nu har jeg forsøgt mig med barklunds, og det ser godt ud, men den tager ikke slut-tags med :) Jeg skal også lukke min <ul>, så nu ser mit regulære udtryk således ud: /^(?!<(?:h[1-6]|\/ul|ul|li)(?:>|\s))(.+)$/i Hvordan kan jeg undlade at skrive "\/ul", og bare nøjes med "ul"?
23. november 2007 - 20:34
#11
og læg et svar ;)
25. november 2007 - 12:22
#12
Hvordan bruger du mit forslag? - for jeg kan altså godt få det til at virke.
25. november 2007 - 15:24
#13
preg_replace( "/^<(h[1-6]|p|a|img).*/i#", "$1", $var ) "Unknown modifier '#'" Når jeg så prøver uden #, så virker det bare ikke efter hensigten.
25. november 2007 - 19:45
#14
(23/11-2007 10:21:40) Det skal være uden '#'. Hvordan ser din kode ud? Dr4e må være lidt mere end det viste.
26. november 2007 - 07:26
#15
Smid en \/? ud forrest :) /^(?!<\/?(?:h[1-6]|ul|li)(?:>|\s))(.+)$/i -- Morten Barklund
01. december 2007 - 16:52
#16
Tanks :)
Kurser inden for grundlæggende programmering