Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: JS - RegExp, wieloliniowość
Forum PHP.pl > Forum > Po stronie przeglądarki
mrWodoo
WItam, mam problem, bo moje wyrażenie regularne nie chce działać z tekstem wieloliniowym, tzn. jeżeli w polu textarea jest coś zapisane co ma kilka liniii to się nie wykona skrypt JS...
[JAVASCRIPT] pobierz, plaintext
  1. var Message = new RegExp( "\<textarea (.*?)\>(.*)\<\/textarea\>", "m" );
  2.  
  3. alert( Message.exec( responseMessage ) );
[JAVASCRIPT] pobierz, plaintext


A ten kod zawsze wypluje pusty alert...

Pomocy, nie umiem sobvie z tym poradzić.
kamil4u
Cytat
"\<textarea (.*?)\>

Jesteś pewien, że ta spacja ma być? Chyba nie smile.gif

http://www.egrafik.pl/kurs-regex-wyrazenia-regularne/

Cytat
. dopasowuje się do każdego znaku oprócz końca linii.

Cytat
m -> Ta flaga powoduje że znak początku tekstu (^) i końca tekstu ($) są także w kolejnych liniach znakami początku i końca linii.
Po co Ci ta flaga?

Kod
<script type="text/javascript">
var x = "<textarea> test \n test test\n </textarea>";
var y = "<textarea> test </textarea>";

var Message = new RegExp( "\<textarea(.*?)\>((.|\n)*)\<\/textarea\>");  

alert( Message.exec( x ) );
alert( Message.exec( y ) );

</script>


Zastanów się czy wyrażenie regularne to najlepsze rozwiązanie. Może lepiej użyć metod DOM-u?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.