abonnement Unibet Coolblue Bitvavo
pi_33692894
Probleempje met preg_replace:

ik heb hetvolgende:
1
2
3
4
<?php
$pattern
= "@<a href=\"#\".*(.*?)</a>@";
$table = preg_replace($pattern, '\\1',$table);
?>


in principe werkt dit ok. Totdat er een andere link in de table staat. Ik wil dus dat alle links in de tabel die beginnen met <a href=\"#\" verwijderd worden (hoeft niet ook de hoofdletters mee te pakken), maar dat andere links gewoon intact blijven.

de $table ziet er bijvoorbeeld zo uit:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
$table
= "
<table>
<tr>
  <td>
<a href=\"#\" onclick=\"javascript:window.open(bla)\">Titel</a>
  </td>
</tr>
<tr>
  <td>
<a href=\"#\" onclick=\"javascript:window.open(bla)\">
Content en dat soort <a href=\"dingen.html\">klik</a>.
<a href=\"#\" onclick=\"javascript:window.open(bla)\">
en verder met content.
</a>
  </td>
</tr>
</table>
"
;
?>


De <a> voor de titel haaltie weg, en voor de eerste content ook. maar zodra de link in de content is geweest houdt t op. tevens klopt het dat de <a> niet af wordt gesloten voor de content-link. misschien heeft dat er wat mee te maken?

[edit]
ok. hij doet t dus niet pas vanaf een andere link. als ik n ander item ($table) pak houdtie al op na de titel.

als ik de links naast elkaar leg zien ze er precies hetzelfde uit. maar hij pakt ze dus niet allemaal.

[ Bericht 5% gewijzigd door Desdinova op 04-01-2006 14:10:48 ]
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_33694215
Probeer eens dit:

<?php
$pattern = "/<a href=\'#\".*>(.*)<\/a>/Ui";
$table = preg_replace($pattern, '\\1',$table);
?>


Snap je eigenlijk wel waarom je huidige regex niet werkt?
pi_33694416
werkt bijna. Hij heeft nu alleen ook de </a> achter de content-link verwijderd, dus alles is n link vanaf de link
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_33695623
quote:
Op woensdag 4 januari 2006 14:39 schreef Desdinova het volgende:
werkt bijna. Hij heeft nu alleen ook de </a> achter de content-link verwijderd, dus alles is n link vanaf de link
Maar probeer zelfs eens wat voor mij lijkt deze te werken:

$pattern = "/<a href=\"#\".*>(.*)<\/a>/Uis";
pi_33696857
mm. ik heb nu \\1 vervangen door \\1</a>.

dat werkt. alleen heb ik 1 </a> over. maarjaa. t werkt iig
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_33697398
quote:
Op woensdag 4 januari 2006 15:51 schreef Desdinova het volgende:
mm. ik heb nu \\1 vervangen door \\1</a>.

dat werkt. alleen heb ik 1 </a> over. maarjaa. t werkt iig
Waarom vervang je nu door \\1</a>? ik snap je hele bedoeling niet. Mijn pattern haalt alle links, exclusief de tekst van die links, weg die beginnen met <a href="#" maar wat jij doet snap ik dus niet.
pi_33697953
quote:
Op maandag 2 januari 2006 19:50 schreef DjDev het volgende:

[..]

Laat maar..ik heb alles verneukt
Ik begin wel helemaal opnieuw met dat ding..
Zo...Alles werkt nu
Bedankt iedereen die geholpen heeft
  woensdag 4 januari 2006 @ 16:21:28 #58
32768 DionysuZ
Respect my authority!
pi_33698103
denk je niet dat het te maken heeft met hoe preg_replace de te vervangen tekst zoekt?

edit: nee, volgens mij staat er een fout in de code van desdinova. Die van JeRa ziet er goed uit, waarom die niet gebruiken?
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
pi_33699831
mnou dat heb ik geprobeerd. maar dan doetie t dus niet volledig
maar nu icm \\1</a> wel. op de </a> op t eind na.

edit
ehmm onee, hij gaf geen </a> bij de andere links.

<a href=\"bla\">klik</a> hier om verder te gaan

werd

<a href=\"bla\">klik hier om verder te gaan

[ Bericht 36% gewijzigd door Desdinova op 04-01-2006 17:20:21 ]
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_33700031
Kan iemand mij een beetje advies geven met de installatie van PEAR:DB? Waar moet ik t neerzetten en hoe activeer ik het?
  woensdag 4 januari 2006 @ 17:19:45 #61
32768 DionysuZ
Respect my authority!
pi_33700048
@desdinova

het ligt aan het feit dat jij links nest in andere links
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
pi_33700135
quote:
Op woensdag 4 januari 2006 17:19 schreef DionysuZ het volgende:
@desdinova

het ligt aan het feit dat jij links nest in andere links
dat zou t kunnen zijn.
As a rule, I never touch anything more sophisticated and delicate than myself.
  woensdag 4 januari 2006 @ 17:25:12 #63
32768 DionysuZ
Respect my authority!
pi_33700247
(.*) is zeer greedy. Als ik bijv. de volgende code heb:

[ code]bla[/code] blalaala [ code]test[/code]
en ik gebruik een zoekpattern #\[ code\](.*)\[/code\]# dan is de output:

[/code] blalaala [ code]

Als je (.*?) gebruikt is de output anders
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
pi_33700347
dan moet je dus als het ware je code gaan parsen... stackbased noemen ze dat ook wel, en kan je vertellen dat dat een pokke werk is...tis mzelf nog niet eerder gelukt
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  woensdag 4 januari 2006 @ 17:33:44 #65
32768 DionysuZ
Respect my authority!
pi_33700520
het is overigens GEEN valid html als je links gaat nesten. zie bijv. http://www.w3.org/TR/REC-html40/struct/links.html
quote:
12.2.2 Nested links are illegal

Links and anchors defined by the A element must not be nested; an A element must not contain any other A elements.

Since the DTD defines the LINK element to be empty, LINK elements may not be nested either.
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
  woensdag 4 januari 2006 @ 17:39:54 #66
32768 DionysuZ
Respect my authority!
pi_33700735
ik gebruik overigens ook altijd msi bij mijn patterns (bv. #\[code\](.*?)\[/code\]#msi).

i means that the search is case-insensitive.
s means that the dot can also match new-lines
m means that $ and ^ match not only at the very beginning / end of the string but also immediately before / after a new-line within the given string
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
pi_33700833
Mensen ik zit met een PHP/GD probleem.

Op mijn website (online) heb ik geen problemen met het vinden van de path van de fonts maar op mijn eigen windows omgeving heb ik er wel problemen mee.

Als ik een font wil gebruiken krijg ik aldoor errors dat het fontje niet gevonden kan worden.

wat heb ik geprobeerd?

1. de volledige path (met / en met \)
2. met putenv het path GDFONTPATH gezet

beide oplossingen werkten helaas niet... iemand een idee hoe ik dit wel voor elkaar krijg?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  woensdag 4 januari 2006 @ 17:52:00 #68
32768 DionysuZ
Respect my authority!
pi_33701098
quote:
Op woensdag 4 januari 2006 17:43 schreef Chandler het volgende:
Mensen ik zit met een PHP/GD probleem.

Op mijn website (online) heb ik geen problemen met het vinden van de path van de fonts maar op mijn eigen windows omgeving heb ik er wel problemen mee.

Als ik een font wil gebruiken krijg ik aldoor errors dat het fontje niet gevonden kan worden.

wat heb ik geprobeerd?

1. de volledige path (met / en met \)
2. met putenv het path GDFONTPATH gezet

beide oplossingen werkten helaas niet... iemand een idee hoe ik dit wel voor elkaar krijg?
heb je al relatieve paden gebruikt? Ik heb mijn fonts als ik GD gebruik altijd in een dir fonts staan en dan link ik ze relatief. Dat werkt, ook op mijn windows bak.
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
pi_33701120
met relatief bedoel je c:\fontpath\ ? oid? ja dat heb ik geprobeerd
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  woensdag 4 januari 2006 @ 17:53:44 #70
32768 DionysuZ
Respect my authority!
pi_33701152
quote:
Op woensdag 4 januari 2006 17:52 schreef Chandler het volgende:
met relatief bedoel je c:\fontpath\ ? oid? ja dat heb ik geprobeerd
nee ../fonts/fontname
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
pi_33701204
ook al geprobeerd werkte ook niet ....
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  woensdag 4 januari 2006 @ 17:57:46 #72
32768 DionysuZ
Respect my authority!
pi_33701275
quote:
Op woensdag 4 januari 2006 17:55 schreef Chandler het volgende:
ook al geprobeerd werkte ook niet ....
hm lastig .. al met dirname(__FILE__) het absolute pad uit proberen te lezen en daarmee verder te gaan?
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
pi_33701506
nee, maar weet zekers dat ik alles heb geprobeerd, zelfs die GDFONTPATH zou het probleem moeten oplossen...maar goed ik zal nog eens wat proberen..
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_33701683
1. eerste optie.. volledig path
1
2
3
Warning: Could not find/open font in d:\www\persoonlijk\gfxpoll.bruggema.nl\include\gfx.include.php on line 517

path: d:/www/persoonlijk/gfxpoll.bruggema.nl/gfx/fonts/arial.ttf


2. tweede poging met relatief path
1
2
3
Warning: Could not find/open font in d:\www\persoonlijk\gfxpoll.bruggema.nl\include\gfx.include.php on line 517

path: ./gfx/fonts/arial.ttf


3. ook zonder ./
1
2
3
Warning: Could not find/open font in d:\www\persoonlijk\gfxpoll.bruggema.nl\include\gfx.include.php on line 517

path: gfx/fonts/arial.ttf


4. ook met de \ ipv de / werkt het niet
1
2
3
Warning: Could not find/open font in d:\www\persoonlijk\gfxpoll.bruggema.nl\include\gfx.include.php on line 517

path: d:\www\persoonlijk\gfxpoll.bruggema.nl\gfx\fonts\arial.ttf


wordt er gek van
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  woensdag 4 januari 2006 @ 18:18:49 #75
32768 DionysuZ
Respect my authority!
pi_33701887
probeer eens zonder .ttf op het einde
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')