Callback voorbeeld regio's
Een veel voorkomend probleem in feeds zijn de verschillende schrijfwijzen, bijvoorbeeld in reizen en vakantie feeds worden landen en regio's op verschillende wijzen geschreven. Neem bijvoorbeeld
'Vierwaldstaettersee' versus 'Vierwoudstedenmeer' of 'Saasdal' en 'Saasdal Noord'
Bovenstaande zijn twee voorbeelden van veel voorkomende problemen in de vakantie feeds, verschillende schrijfwijzen voor hetzelfde, of varianten van regio's. zoals twee regio's die elkaar overlapen en die je wellicht toch als 1 wilt presenteren. Onderstaande script geeft een illustratie hoe deze twee problemen op te lossen zijn.
Het herschrijven van namen gebeurt doormiddel van een opzoek-tabel, dit is een zeer efficiente (in termen van rekentijd) wijze van werken, nadeel is dat de schrijfwijze exact goed moet zijn.
Voor het aanpassen van regio varianten wordt gebruik gemaakt van regulair expression, dit is een minder snelle manier van aanpassen, maar je kunt eenvoudiger verschillende schrijfwijzen in 1 regel samenvaten. Het blijkt dat de meeste regio varianten verschillenen aan het einde van de string. Het script knipt telkens de staart van de regio dus alle regio's die beginnen met Saasdal ('Saasdal','Saasdal Nooord','Saasdal Hoog' ) worden herschreven naar Saasdal.
{include_code_listing /var/www/www.affiliatefeeds.nl/images/code/regio2regio-3058.txt}
Hoe te gebruiken
Het zou efficienter zijn voor elke feed alleen de noodzakelijke herschrijvingen te doen, echter voor het onderhoud is het eenvoudiger om alles in 1 functie te stoppen.
In de meegeleverde feeds.php (feeds-example.php) staat reeds de functie reizen neem hierin een aanroep naar de regio2regio functie op. Het voorbeeld gaat ervan uit dat in de feed configuratie de regio en Select2 gezet wordt
{include_code_listing /var/www/www.affiliatefeeds.nl/images/code/regio2regio-reizen-3058.txt}