Preg_replace ?

Status
Niet open voor verdere reacties.

ErikBooy007

Terugkerende gebruiker
Lid geworden
24 mei 2007
Berichten
3.814
Ik heb een lijst met nationaliteiten gevonden ergens op een website en die wil ik nu graag een beetje aangepast hebben.

Dit is de lijst:

PHP:
                     <option value="af">Afghaan</option>
                    
                     <option value="al">Albanees</option>
                     <option value="dz">Algerijn</option>
                     <option value="us">Amerikaan</option>
                     <option value="as">Amerikaan (samoa)</option>
                     <option value="vi">Amerikaanse maagdeneilander</option>
                     <option value="ad">Andorrees</option>
                    
                     <option value="ao">Angolees</option>
                     <option value="ai">Anguillaan</option>
                     <option value="ag">Antigua en Barbuda</option>
                     <option value="ar">Argentijn</option>
                     <option value="am">Armenier</option>
                     <option value="aw">Arubaan</option>
                    
                     <option value="au">Australier</option>
                     <option value="az">Azerbeidzjaan</option>
                     <option value="bs">Bahamaan</option>
                     <option value="bh">Bahreiner</option>
                     <option value="bb">Barbadiaan</option>
                     <option value="pw">Belauer</option>
                    
                     <option value="be">Belg</option>
                     <option value="bz">Belizaan</option>
                     <option value="bd">Bengalees</option>
                     <option value="bj">Beniner</option>
                     <option value="bm">Bermudaan</option>
                     <option value="bt">Bhutaan</option>
                    
                     <option value="bo">Boliviaan</option>
                     <option value="ba">Bosnier</option>
                     <option value="bw">Botswaan</option>
                     <option value="br">Braziliaan</option>
                     <option value="gb">Brit</option>
                     <option value="vg">Britse maagdeneilander</option>
                    
                     <option value="bn">Bruneier</option>
                     <option value="bg">Bulgaar</option>
                     <option value="bf">Burkinees</option>
                     <option value="bi">Burundees</option>
                     <option value="kh">Cambodjaan</option>
                     <option value="ca">Canadees</option>
                    
                     <option value="ky">Caymaneilander</option>
                     <option value="cf">Centraal-afrikaan</option>
                     <option value="cl">Chileen</option>
                     <option value="cn">Chinees</option>
                     <option value="co">Colombiaan</option>
                     <option value="km">Comorees</option>
                    
                     <option value="cg">congolees (brazzaville)</option>
                     <option value="cd">Congolees (kinshasa)</option>
                     <option value="ck">Cookeilander</option>
                     <option value="cr">Costaricaan</option>
                     <option value="cu">Cubaan</option>
                     <option value="cy">Cyprioot</option>
                    
                     <option value="dk">Deen</option>
                     <option value="dj">Djiboutiaan</option>
                     <option value="dm">Dominicaan (eiland)</option>
                     <option value="do">Dominicaan (republiek)</option>
                     <option value="de">Duitser</option>
                     <option value="ec">Ecuadoraan</option>
                    
                     <option value="eg">egyptenaar</option>
                     <option value="gq">Equatoriaal-guinees</option>
                     <option value="er">Eritreeer</option>
                     <option value="ee">Est</option>
                     <option value="et">Ethiopier</option>
                     <option value="fo">Faer&ouml;erder</option>
                    
                     <option value="fk">Falklandeilander</option>
                     <option value="fj">Fijier</option>
                     <option value="ph">Filipijn</option>
                     <option value="fi">Fin</option>
                     <option value="gf">Frans-guyaan</option>
                     <option value="pf">Frans-polynesier</option>
                    
                     <option value="fr">Franse</option>
                     <option value="ga">Gabonees</option>
                     <option value="gm">Gambiaan</option>
                     <option value="ge">Georgier</option>
                     <option value="gh">Ghanees</option>
                     <option value="gi">Gibraltarees</option>
                    
                     <option value="gd">Grenadaan</option>
                     <option value="gr">Griek</option>
                     <option value="gl">Groenlander</option>
                     <option value="gp">Guadelouper</option>
                     <option value="gu">Guamees</option>
                     <option value="gt">Guatemalaan</option>
                    
                     <option value="gw">Guinee-bissauer</option>
                     <option value="gn">Guineeer</option>
                     <option value="gy">Guyaan</option>
                     <option value="ht">Haltiaan</option>
                     <option value="hn">Hondurees</option>
                     <option value="hu">Hongaar</option>
                    
                     <option value="hk">Hongkonger</option>
                     <option value="ie">Ier</option>
                     <option value="is">Ijslander</option>
                     <option value="in">Indier</option>
                     <option value="id">Indonesier</option>
                     <option value="iq">Irakees</option>
                    
                     <option value="ir">Iranier</option>
                     <option value="il">Israeli</option>
                     <option value="it">Italiaan</option>
                     <option value="ci">Ivoriaan</option>
                     <option value="jm">Jamaicaan</option>
                     <option value="jp">Japanner</option>
                    
                     <option value="ye">Jemeniet</option>
                     <option value="jo">Jordanier</option>
                     <option value="cv">Kaapverdier</option>
                     <option value="cm">Kameroener</option>
                     <option value="kz">Kazach</option>
                     <option value="ke">Keniaan</option>
                    
                     <option value="kg">Kirgies</option>
                     <option value="ki">Kiribatier</option>
                     <option value="kw">Koeweiter</option>
                     <option value="hr">Kroaat</option>
                     <option value="la">Laotiaan</option>
                     <option value="ls">Lesothaan</option>
                    
                     <option value="lv">Let</option>
                     <option value="lb">Libanees</option>
                     <option value="lr">Liberiaan</option>
                     <option value="ly">Libier</option>
                     <option value="li">Liechtensteiner</option>
                     <option value="lt">Litouwer</option>
                    
                     <option value="lu">Luxemburger</option>
                     <option value="mo">Macauer</option>
                     <option value="mk">Macedonier</option>
                     <option value="mg">Malagassier</option>
                     <option value="mw">Malawier</option>
                     <option value="mv">Maldivier</option>
                    
                     <option value="my">Maleisier</option>
                     <option value="ml">Malinees</option>
                     <option value="mt">Maltees</option>
                     <option value="mp">Mariaan</option>
                     <option value="ma">Marokkaan</option>
                     <option value="mh">Marshalleilander</option>
                    
                     <option value="mq">Martinikaan</option>
                     <option value="mr">Mauritanier</option>
                     <option value="mu">Mauritiaan</option>
                     <option value="mx">Mexicaan</option>
                     <option value="fm">Micronesier</option>
                     <option value="md">Moldavier</option>
                    
                     <option value="mc">Monegask</option>
                     <option value="mn">Mongolier</option>
                     <option value="ms">Montserrataan</option>
                     <option value="mz">Mozambikaan</option>
                     <option value="mm">Myanmarees (birmaan)</option>
                     <option value="na">Namibier</option>
                    
                     <option value="nr">Nauruaan</option>
                     <option value="nl">Nederlander</option>
                     <option value="an">Nederlands-antilliaan</option>
                     <option value="np">Nepalees</option>
                     <option value="ni">Nicaraguaan</option>
                     <option value="nc">Nieuw-caledonier</option>
                    
                     <option value="nz">Nieuw-zeelander</option>
                     <option value="ne">Nigerees</option>
                     <option value="ng">Nigeriaan</option>
                     <option value="nu">Niue</option>
                     <option value="no">Noor</option>
                     <option value="kp">Noord-koreaan</option>
                    
                     <option value="nf">Norfolkeilander</option>
                     <option value="ug">Oegandees</option>
                     <option value="ua">Oekra&iuml;ner</option>
                     <option value="uz">Oezbeek</option>
                     <option value="om">Omani</option>
                     <option value="tp">Oost-timorees</option>
                    
                     <option value="at">Oostenrijker</option>
                     <option value="pk">Pakistaan</option>
                     <option value="ps">Palestijn</option>
                     <option value="pa">Panamees</option>
                     <option value="pg">Papoea-nieuw-guinea</option>
                     <option value="py">Paraguayaan</option>
                    
                     <option value="pe">Peruaan</option>
                     <option value="pn">Pitcairneilander</option>
                     <option value="pl">Pool</option>
                     <option value="pt">Portugees</option>
                     <option value="pr">Puertoricaan</option>
                     <option value="qa">Qatarees</option>
                    
                     <option value="re">R&eacute;union</option>
                     <option value="ro">Roemeen</option>
                     <option value="ru">Rus</option>
                     <option value="rw">Rwandees</option>
                     <option value="kn">Saint kitts and nevis eilander</option>
                     <option value="vc">Saint vincent en de grenadines</option>
                    
                     <option value="lc">Saint-luciaan</option>
                     <option value="pm">Saint-pierre en miquelon</option>
                     <option value="sb">Salomonseilander</option>
                     <option value="sv">Salvadoraan</option>
                     <option value="ws">Samoaan</option>
                     <option value="sm">Sanmarinees</option>
                    
                     <option value="st">Santomees</option>
                     <option value="sa">Saoedier</option>
                     <option value="sn">Senegalees</option>
                     <option value="yu">Servisch en montenegrijns</option>
                     <option value="sc">Seycheller</option>
                     <option value="sl">Sierraleoner</option>
                    
                     <option value="sg">Singaporees</option>
                     <option value="sh">Sint-helener</option>
                     <option value="sk">Slovaak</option>
                     <option value="si">Sloveen</option>
                     <option value="sd">Soedanees</option>
                     <option value="so">Somalier</option>
                    
                     <option value="es">Spanjaard</option>
                     <option value="lk">Srilankaan</option>
                     <option value="sr">Surinamer</option>
                     <option value="sz">Swazi</option>
                     <option value="sy">Syrier</option>
                     <option value="tj">Tadzjiek</option>
                    
                     <option value="tw">Taiwanees</option>
                     <option value="tz">Tanzaniaan</option>
                     <option value="th">Thai</option>
                     <option value="tg">Togolees</option>
                     <option value="tk">Tokelau-eilander</option>
                     <option value="to">Tongaan</option>
                    
                     <option value="tt">Trinidadiaan</option>
                     <option value="td">Tsjadier</option>
                     <option value="cz">Tsjech</option>
                     <option value="tn">Tunesier</option>
                     <option value="tr">Turk</option>
                     <option value="tm">Turkmeen</option>
                    
                     <option value="tc">Turks- en caicoseilander</option>
                     <option value="tv">Tuvaluaan</option>
                     <option value="un">Uno - erkend ovn vluchteling</option>
                     <option value="uy">Uruguayaan</option>
                     <option value="vv">Vaderlandslozen</option>
                     <option value="vu">Vanuatuaan</option>
                    
                     <option value="va">Vaticaanstad</option>
                     <option value="ve">Venezolaan</option>
                     <option value="ae">Verenigde arabische emiraten</option>
                     <option value="vn">Vietnamees</option>
                     <option value="wf">Wallis en futuna</option>
                     <option value="eh">Westelijke sahara</option>
                    
                     <option value="by">Wit-rus (belarus)</option>
                     <option value="zm">Zambiaan</option>
                     <option value="zw">Zimbabwaan</option>
                     <option value="za">Zuid-afrikaan</option>
                     <option value="kr">Zuid-koreaan</option>
                     <option value="se">Zweed</option>
                    
                     <option value="ch">Zwitser</option>

En nu zou ik de lijst graag zo hebben dat hij bij elke option de value gelijk maakt aan de inhoud van de option.

Bijv:

PHP:
                     <option value="Zwitser">Zwitser</option>

Is daar een functie voor, zonder dat ik de allemaal apart moet gaan aanpassen? Ik zat te denken aan preg_replace(), maar daar kom ik niet helemaal uit.

Dit is wat ik had, maar volgens mij ben ik nu in de war met .htaccess:

PHP:
preg_replace('<option value="(.*)">(.*)</option>', '<option value="$2">$2</option>', $text);

Waarin $text de bovenstaande lijst bevat als string. Iemand enig idee hoe ik dit zonder al te veel moeite kan doen?
 
Veel te ingewikkeld.

Heb deze array ooit eens van een script genaamd VWAR gehaald. (Meen dat ik hem wel vaker op het forum heb laten slingeren)
Gebruik hem sindsdien voor alles waar ik een landenkeuze bij nodig heb.
PHP:
$countryArray = array(
  "af" => "Afghanistan",
  "al" => "Albani&euml;",
  "am" => "Armeni&euml;",
  "an" => "Nederlandse Antillen",
  "ao" => "Angola",
  "ar" => "Argentini&euml;",
  "at" => "Oostenrijk",
  "au" => "Australi&euml;",
  "aw" => "Aruba",
  "az" => "Azerbeidzjan",
  "ba" => "Bosni&euml;-Hercegovina",
  "bb" => "Barbados",
  "bd" => "Bangladesh",
  "be" => "Belgi&euml;",
  "bf" => "Burkina Faso",
  "bg" => "Bulgarije",
  "bh" => "Bahrein",
  "bi" => "Burundi",
  "bj" => "Benin",
  "bm" => "Bermuda",
  "bn" => "Brunei",
  "bo" => "Bolivia",
  "br" => "Brazili&euml;",
  "bs" => "Bahama’s",
  "bt" => "Bhutan",
  "bw" => "Botswana",
  "bx" => "Benelux",
  "by" => "Wit-Rusland",
  "bz" => "Belize",
  "ca" => "Canada",
  "cf" => "Centraalafrikaanse Republiek",
  "cg" => "Kongo",
  "ch" => "Zwitserland",
  "ci" => "Ivoorkust",
  "ck" => "Cookeilanden",
  "cm" => "Kameroen",
  "cn" => "China",
  "co" => "Colombia",
  "cr" => "Costa Rica",
  "cu" => "Cuba",
  "cv" => "Kaapverdi&euml;",
  "cy" => "Cyprus",
  "cz" => "Tsjechi&euml;",
  "de" => "Duitsland",
  "dk" => "Denemarken",
  "dz" => "Algerije",
  "ec" => "Ecuador",
  "ee" => "Estland",
  "eg" => "Egypte",
  "er" => "Eritrea",
  "es" => "Spanje",
  "et" => "Ethiopi&euml;",
  "eu" => "Europa",
  "fi" => "Finland",
  "fj" => "Fuji",
  "fo" => "Faer&oslash;er",
  "fr" => "Frankrijk",
  "ga" => "Gabon",
  "ge" => "Georgi&euml;",
  "gi" => "Gibraltar",
  "gl" => "Groenland",
  "gp" => "Guadeloupe",
  "gr" => "Griekenland",
  "gt" => "Guatemala",
  "gu" => "Guam",
  "gy" => "Guyana",
  "hk" => "Hongkong",
  "hr" => "Kroati&euml;",
  "ht" => "Ha&iuml;ti",
  "hu" => "Hongarije",
  "id" => "Indonesi&euml;",
  "ie" => "Ierland",
  "il" => "Isra&euml;l",
  "in" => "India",
  "int" => "Internationaal",
  "iq" => "Irak",
  "ir" => "Iran",
  "is" => "IJsland",
  "it" => "Itali&euml;",
  "jm" => "Jamaica",
  "jo" => "Jordani&euml;",
  "jp" => "Japan",
  "ke" => "Kenya",
  "kg" => "Kirgizi&euml;",
  "kh" => "Cambodja",
  "ki" => "Kiribati",
  "kp" => "Korea (Noord)",
  "kr" => "Korea",
  "ky" => "Caymaneilanden",
  "kz" => "Kazachstan",
  "lb" => "Libanon",
  "lc" => "Sint Lucia",
  "li" => "Liechtenstein",
  "lk" => "Sri Lanka",
  "lt" => "Litouwen",
  "lu" => "Luxemburg",
  "lv" => "Letland",
  "ly" => "Libi&euml;",
  "ma" => "Marokko",
  "mc" => "Monaco",
  "md" => "Moldovi&euml;",
  "mg" => "Madagaskar",
  "mn" => "Mongoli&euml;",
  "mo" => "Macau",
  "mp" => "Noordelijke Marianen",
  "ms" => "Montserrat",
  "mt" => "Malta",
  "mx" => "Mexico",
  "my" => "Maleisi&euml;",
  "mz" => "Mozambique",
  "na" => "Namibi&euml;",
  "nc" => "Nieuw-Caledoni&euml;",
  "nf" => "Norfolk",
  "nl" => "Nederland",
  "no" => "Noorwegen",
  "np" => "Nepal",
  "nr" => "Nauru",
  "nz" => "Nieuw-Zeeland",
  "om" => "Oman",
  "pa" => "Panama",
  "pe" => "Peru",
  "pf" => "Frans Polynesi&euml;",
  "ph" => "Filipijnen",
  "pk" => "Pakistan",
  "pl" => "Polen",
  "pm" => "Sint-Pierre en Miquelon",
  "pr" => "Puerto Rico",
  "pt" => "Portugal",
  "py" => "Paraguay",
  "qa" => "Katar",
  "ro" => "Roemeni&euml;",
  "ru" => "Rusland",
  "sa" => "Saudi-Arabi&euml;",
  "sb" => "Solomoneilanden",
  "sc" => "Scandinavi&euml;",
  "sd" => "Sudan",
  "se" => "Zweden",
  "sg" => "Singapore",
  "si" => "Sloveni&euml;",
  "sk" => "Slowakije",
  "sl" => "Sierra Leone",
  "so" => "Somalia",
  "tc" => "Turks en Caicoseilanden",
  "tg" => "Togo",
  "th" => "Thailand",
  "tn" => "Tunesi&euml;",
  "to" => "Tonga",
  "tp" => "Oost-Timor",
  "tr" => "Turkije",
  "tt" => "Trinidad en Tobago",
  "tv" => "Tuvalu",
  "tw" => "Taiwan",
  "tz" => "Tanzania",
  "ua" => "Oekra&iuml;ne",
  "ug" => "Uganda",
  "uk" => "Verenigd Koninkrijk",
  "us" => "Verenigde Staten",
  "uy" => "Uruguay",
  "va" => "Vaticaanstad",
  "ve" => "Venezuela",
  "vg" => "Virgineilanden (Engels)",
  "vi" => "Virgineilanden (V.S.)",
  "vn" => "Vietnam",
  "ws" => "Samoa",
  "ye" => "Jemen",
  "yu" => "Joegoslavi&euml;",
  "za" => "Zuid-Afrika",
  "zw" => "Zimbabwe"
);
Makkelijk een hele lijst te creëren.
PHP:
echo '<select name="country">';
foreach($countryArray AS $short => $name) {
  echo'<option value="'. $short .'">'. $name .'</option>';
}
echo '</select>';

Ook zat er voor elk land een vlaggetje bij met als bestandsnaam de arraysleutel (bijv. "zw.gif" of "ye.gif")

Mocht je daar interesse in hebben dan kan ik kijken of ik iets voor je kan regelen.
 
Laatst bewerkt:
Dit is GEWELDIG!! :D

Als je me die vlaggetjes ook zou kunnen bezorgen zou het helemaal fantastisch zijn!!!! :thumb:
 
kun je die anders in een zip hier posten? Kan handig zijn voor als ik dat ook eens zou nodig hebben :thumb:
 
Als bijlage hier bij zetten lukt niet (net te groot), dus dan maar even via mijn webruimte hier.

flags.zip

Succes ermee :)
 
Jij bent THA MAN!!!

Echt geweldig dit! I appreciate it...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan