Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pattern dla atrybutu title
Forum PHP.pl > Forum > PHP
[PL]Neon
Tooltip - właśnie to chciałem zrobić na mojej powstającej stronie.
Chciałem również, aby zwykły użytkownik mógł z poziomu profilu ustalić, czy dymki mają być wyświetlane, czy też nie.

Muszę podkreślić, że do obsługi interfejsu na stronie używam class troszkę wzorowanych na phpBB.

Tak więc zdecydowałem, iż podczas procesu tworzenia kodu skrypt - jeśli użytkownik ustalił, że dymki mają być wyświetlanie nie robi nic - jeśli mają być wyłączone, specjalny pattern dla preg_replace ma podmienić każdy title=' albo "*coś tam*" albo ' (chociaż używam title='*coś*', jeżeli nie da się ' albo " we wzorze - poproszę o ') na *nicość*.
I tu pojawił się problem.. Zbytnio nie znam się na tworzeniu wzorów dla preg_x, więc poprosiłem kolegę o pomoc.. On wymodził coś takiego :

  1. <?php
  2. $this->code[$handle] = preg_replace("@ title=('").*?1@i", '', $this->code[$handle]);
  3. ?>


Ale to nie działa..

Czy ktoś mógłby mi pomóc? tongue.gif
Morkai
Spróbuj potraktować kod tym
Kod
'/ title=("|\').*\\1/Uis'
[PL]Neon
Działa, dzięki winksmiley.jpg
bendi
Cytat(Morkai @ 2005-11-04 21:52:47)
Spróbuj potraktować kod tym
Kod
'/ title=("|\').*\\1/Uis'

A co będzie jak nie będzie ani pojedyńczego ani podwójnego cudzysłowa?
Lepiej tak:
Kod
'/ title=("|\')?.*?(?(1)\\1| )/is'

To zwiera wyrażenie warunkowe - jeżeli został znaleziony jakiś cudzysłów to zakończ regułkę nim, a jeżeli nie to zakończ spacją.
[PL]Neon
bendi -> fajnie wiedzieć.. tongue.gif

dzięki
Morkai
Cytat(bendi @ 2005-11-08 08:39:35)
A co będzie jak nie będzie ani pojedyńczego ani podwójnego cudzysłowa?

To nie będzie to zgodne ze standardami ph34r.gif
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.