Spaties vervangen door - in links met variabelen.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Peter Jager

Peter Jager

27/02/2017 17:50:42
Quote Anchor link
Voor een website met sportuitslagen, ben ik bezig met een tabel waarin de stand verwerkt staat.
Daarin staan ook de namen van de clubs ($club), die uit de array $clubs komt.
Nou wil ik graag dat als je op de naam klikt, je wordt gelinkt naar de subpagina voor de betreffende club.

De code-regel ziet er als volgt uit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<td><a href="http://mijnwebsite.nl/tag/<?php echo $club->title ?>"><?php echo $club->title ?></a></td>

Nu hebben de namen van de clubs soms ook spaties, zoals bijvoorbeeld Gasterra Flames. Deze zijn voor de links naar de subpagina's vervangen door koppeltekens. Bijvoorbeeld: http://mijnwebsite.nl/tags/Gasterra-Flames.

Ik heb de str_replace-functie
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php $club = str_replace(" ", "-", $club);?>
al geprobeerd in de regel zelf en voor de regel. Maar dat geeft een syntax-error of een lege tabel.
Mijn vraag is nu: hoe krijg ik dat in de code verwerkt, zodat de namen intact blijven en de links met koppeltekens worden gegenereerd?

Alvast bedankt voor het meedenken!
- Ariën -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Gewijzigd op 27/02/2017 17:55:57 door - Ariën -
 
PHP hulp

PHP hulp

19/09/2024 19:14:36
 
- Ariën  -
Beheerder

- Ariën -

27/02/2017 17:59:18
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<td><a href="http://mijnwebsite.nl/tag/<?php echo str_replace(" ", "-", $club->title); ?>"><?php echo $club->title; ?></a></td>
Gewijzigd op 27/02/2017 18:03:03 door - Ariën -
 
Adoptive Solution

Adoptive Solution

27/02/2017 18:02:19
Quote Anchor link
Dit lijkt mij meer voor de hand liggend :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php $club = str_replace(" ", "-", $club->title);?>


of

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<td><a href="http://mijnwebsite.nl/tag/<?php echo str_replace(" ", "-", $club->title) ?>"><?php echo $club->title ?></a></td>
 
Peter Jager

Peter Jager

27/02/2017 19:20:11
Quote Anchor link
Ontzettend bedankt voor de snelle reacties! Ik heb zo te zien compleet verkeerd gedacht. Ik dacht dat $club->title een omzetting was, en dus alleen $club nodig was voor het vervangen van de spaties.
 
Thomas van den Heuvel

Thomas van den Heuvel

28/02/2017 15:11:07
Quote Anchor link
Ik zou eerder verwachten dat de tag waarmee een club geïdentificeerd wordt een eigenschap is van een club-object of wat dan ook (zelfs al is dit elke keer dezelfde omzetting of wat dan ook, leg deze dan centraal vast maar voer deze niet elke keer on-the-fly uit).

Daarnaast zou je misschien ook apart ingerichte pagina's willen hebben voor clubs, dus tenzij je voor alles /tag/ gebruikt zou ik eerder /club/ verwachten ofzo.

Een vaak toegepaste truuk is dat er een (club) id wordt toegevoegd in de URL: /club/88/maakt-niet-uit-wat-hier-staat aan de hand waarvan de club eenduidig wordt bepaald.

Tot slot zou ik de URL's niet op deze manier "inline" opbouwen omdat dit op deze manier niet uniform gebeurt. Wat nu als je je URL's anders wilt gaan noemen? Dan zou je alle code na moeten gaan lopen die in je applicatie worden gebruikt. Het is beter om een soort van centrale functie te hebben die je gebruikt voor het opbouwen van (volledige) interne links.
 
Peter Jager

Peter Jager

28/02/2017 16:45:14
Quote Anchor link
Helaas hebben de eerste suggesties niet de gewenste uitwerking. De geproduceerde links komen niet verder dan mijnwebsite.nl/tags.
Ik denk dat de suggestie van Thomas inderdaad een beter optie is. Zo krijgt elke club zijn eigen id. Dan is het alleen even uitzoeken hoe ik die dan verwerk in de stand, aangezien die dynamisch is.

Toevoeging op 01/03/2017 16:16:47:

Voor de volledigheid, de website is opgebouwd met behulp van Wordpress en voor de stand gebruik ik de Plugin: LeagueManager. Deze bouwt de tabel met de stand op met de namen van de clubs.

Het idee was dus om de clubnaam om te zetten naar een link van de subpagina van de club, die in een ander stuk code is opgebouwd.
Gewijzigd op 28/02/2017 16:46:07 door Peter Jager
 
Jan te Pas

Jan te Pas

02/03/2017 13:49:33
Quote Anchor link
Ik heb een soortgelijke vraag.
Ik wil vanuit een <a href="www.tweedrievier.php?&email=emailadres&datum="Een twee drie">klik</a> gebruiken.
Als ik een emailadres handmatig invoer met aanhalingstekens gaat het prima. De php leest keurig de variabelen in, inclusief de spaties.

vraag:
Als ik het emailadres vanuit een variabele, bijvoorbeeld form, laat vullen, gaat het mis. Ik heb geprobeerd &quot etc. maar het werkt niet.

Kan iemand mij een tip geven waar ik moet zoeken?
groet
Jan
 
- Ariën  -
Beheerder

- Ariën -

02/03/2017 13:50:58
Quote Anchor link
Misschien is een eigen topic wat handiger. Straks lopen er twee discussies door elkaar heen.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.