Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [js] wyrażenia regularne
nmts
post
Post #1





Grupa: Zarejestrowani
Postów: 283
Pomógł: 34
Dołączył: 21.03.2008

Ostrzeżenie: (0%)
-----


Problem 1.

Przykład 1:
  1. if(element.innerHTML=="{"){ // text '{' text


W powyższym przykładzie chcę podmienić "{" na "..{.." i udaje mi się to tym sposobem:

  1. element.replace(/\"(.*)<span(.*)x<\/span>(.*)\"/g, "\"$1y$3\"");

(w poprzednim listingu jest pominięty tag pomiędzy x, mniejsza z tym)
Ale problem pojawia się jeśli dalej w tej linii jest taki sam cudzysłów.

Przykład 2:
  1. if(element.innerHTML=="{"){ // text "{" text


Problem 2.

  1. replace(/{/g, "<span style=\"cursor: pointer;\" onmouseover=\"over(this);\" onmouseout=\"out();\">{</span>");


W ten sposób zamieniam { na { zagnieżdżone w tagu. Czy mogę zrobić jakoś zestaw znaków zakazanych aby powyższe działało tylko jeśli x nie jest otoczone cudzysłowami (" oraz ')?

Wystarczy rozwiązać jeden problem aby osiągnąć pożądany efekt. tongue.gif

@edit
kurde.. wlasciwie to temat nie ukazuje całości... wiem jak utworzyć zestaw znaków zakazanych tylko, że całość i tak się pierdzieli, jeśli na przykład zrobie w powyższym [^\']{[^\'], to tak, rozwiąże problem nr. 2, ale po tym '{' będące za nawiasem (z listingu nr. 1) zje mi znaki po bokach (w tym przypadku '(' ) haha.gif

@edit
jakby ktoś był ciekaw to celem jest kod który będzie zaznaczać nawiasy jak w edytorach, nie mogę sobie tylko poradzić z omijaniem nawiasów będących częściami stringów... jak w przykładzie numer 2 problemu pierwszego, w komentarzu nawias ma wyłączone zdarzenie jednak cudzysłowia są kłócą wzajemnie,

Ten post edytował nmts 12.10.2009, 14:17:43


--------------------
Free Web Tools - narzędzia dla programistów, webdeveloperów i specjalistów seo...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 14:52