I am trying to convert a large string into an array i can fill into an html table
<?php
/**
Counties in the Republic of Kenya,Governors and their Political Parties.
*/
$county_data = "1. Mombasa. – Hassan Ali Joho – ODM,
2. Kwale. – Salim Mvurya – Jubilee,
3. Kilifi. – Amason Jeffah Kingi – ODM,
4. Tana River. – Dhadho Godhana – ODM,
5. Lamu. – Fahim Yasin Twaha – Jubilee,
6. Taita-Taveta. – Granton Samboja – WDM K,
7. Garissa. – Ali Bunow Korane – Jubilee,
8. Wajir. – Mohamed Abdi Mohamud – Jubilee,
9. Mandera. – Ali Ibrahim Roba - Jubilee,
10. Marsabit – Mohamud Mohamed Ali – Jubilee,
11. Isiolo – Mohamed Abdi Kuti – Independent,
12. Meru – Kiraitu Murungi – Jubilee,
13. Tharaka Nithi – Onesmus Muthomi Njuki – Jubilee,
14. Embu – Martin Nyaga Wambora – Jubilee,
15. Kitui – Charitu Ngilu – Narc Kenya,
16. Machakos – Alfred Mutua – CCM,
17. Makueni – Kivutha Kibwana – WDM K.,
18. Nyandarua – Francis Kimemia – Jubilee,
19. Nyeri – Mutahi Kahiga – Jubilee,
20. Kirinyaga. – Ann Waiguru – Jubilee,
21. Murang’a – Mwangi wa iria – Jubilee,
22. Kiambu. – Ferdinand Waititu Babayao – Jubilee,
23. Turkana. – Josphat Nanok – ODM,
24. West Pokot. – John Krop Lonyang’apuo. – KANU,
25. Samburu. – Moses Kasainie Lenolkulal – Jubilee,
26. Trans-Nzoia. – Patrick Khaemba – FORD Kenya,
27. Uasin gishu. – Jackson Mandago – Jubilee,
28. Elgeyo Marakwet. – Alex Tanui Tolgas – Jubilee,
29. Nandi. – Stephen Sang – Jubilee,
30. Baringo – Stanley K Kipris. – Jubilee,
31. Laikipia – Ndiritu Muriithi – Independent,
32. Nakuru. – Lee Kinyanjui – Jubilee,
33. Narok – Samuel Kuntai Ole Tunai – Jubilee,
34. Kajiado. – Joseph Ole Lenku – Jubilee,
35. Kericho. – Prof.Paul Chepkwony Kiprono – Jubilee,
36. Bomet. – Hillary Barchok – Jubilee,
37. Kakamega. – Wyclife Oparanya – ODM,
38. Vihiga. – Wilber Ottichilo – ODM,
39. Bungoma. – Wyclife Wafula Wangamiti – ODM,
40. Busia. – Sospeter Ojaamong – ODM,
41. Siaya. – Cornel Rasanga. – ODM,
42. Kisumu. – Peter Anyang Nyong’o. – ODM,
43. Homabay. – Cyprian Awiti – ODM,
44. Migori. – Zachary Okoth Obado – ODM,
45. Kisii. – James Ongware – ODM,
46. Nyamira. – John Nyangarama Obiena - ODM,
47. Nairobi. – Mike Sonko Mbuvi Kioko – Jubilee";
/**
You should not modify anything above this line
*/
?>
This is what i have tried
$county_array1=( explode ('–', $county_data));
it didn't work
$county_array=( explode (',', $county_data));
it didn't work as planned
Note you shouldn't modify the $country_data. the table should look like this
# Name Governor
1 Mombasa Hassan Ali Joho
2 Kwale Salim Mvurya
You can use preg_split()
for this
And you have two types of Jubilee's in your example here like – Jubilee
and - Jubilee,
so you will need to break then both too.
$result = preg_split("/(– ODM,|– Jubilee,|– WDM K,|- Jubilee,|[. –]|[[:space:]])/",$county_data,-1,PREG_SPLIT_NO_EMPTY);
$county_data = "1. Mombasa. – Hassan Ali Joho – ODM, 2. Kwale. – Salim Mvurya –
Jubilee, 3. Kilifi. – Amason Jeffah Kingi – ODM, 4. Tana River. – Dhadho Godhana –
ODM, 5. Lamu. – Fahim Yasin Twaha – Jubilee, 6. Taita-Taveta. – Granton Samboja – WDM
K, 7. Garissa. – Ali Bunow Korane – Jubilee, 8. Wajir. – Mohamed Abdi Mohamud –
Jubilee, 9. Mandera. – Ali Ibrahim Roba - Jubilee, 10. Marsabit – Mohamud Mohamed Ali
– Jubilee, 11. Isiolo – Mohamed Abdi Kuti – Independent, 12. Meru – Kiraitu Murungi –
Jubilee, 13. Tharaka Nithi – Onesmus Muthomi Njuki – Jubilee, 14. Embu – Martin Nyaga
Wambora – Jubilee, 15. Kitui – Charitu Ngilu – Narc Kenya, 16. Machakos – Alfred Mutua
– CCM, 17. Makueni – Kivutha Kibwana – WDM K., 18. Nyandarua – Francis Kimemia –
Jubilee, 19. Nyeri – Mutahi Kahiga – Jubilee, 20. Kirinyaga. – Ann Waiguru – Jubilee,
21. Murang’a – Mwangi wa iria – Jubilee, 22. Kiambu. – Ferdinand Waititu Babayao –
Jubilee, 23. Turkana. – Josphat Nanok – ODM, 24. West Pokot. – John Krop Lonyang’apuo.
– KANU, 25. Samburu. – Moses Kasainie Lenolkulal – Jubilee, 26. Trans-Nzoia. – Patrick
Khaemba – FORD Kenya, 27. Uasin gishu. – Jackson Mandago – Jubilee, 28. Elgeyo
Marakwet. – Alex Tanui Tolgas – Jubilee,29. Nandi. – Stephen Sang – Jubilee, 30.
Baringo – Stanley K Kipris. – Jubilee, 31. Laikipia – Ndiritu Muriithi – Independent,
32. Nakuru. – Lee Kinyanjui – Jubilee, 33. Narok – Samuel Kuntai Ole Tunai – Jubilee,
34. Kajiado. – Joseph Ole Lenku – Jubilee, 35. Kericho. – Prof.Paul Chepkwony Kiprono
– Jubilee, 36. Bomet. – Hillary Barchok – Jubilee, 37. Kakamega. – Wyclife Oparanya –
ODM, 38. Vihiga. – Wilber Ottichilo – ODM, 39. Bungoma. – Wyclife Wafula Wangamiti –
ODM, 40. Busia. – Sospeter Ojaamong – ODM, 41. Siaya. – Cornel Rasanga. – ODM, 42.
Kisumu. – Peter Anyang Nyong’o. – ODM, 43. Homabay. – Cyprian Awiti – ODM, 44. Migori.
– Zachary Okoth Obado – ODM, 45. Kisii. – James Ongware – ODM, 46. Nyamira. – John
Nyangarama Obiena - ODM, 47. Nairobi. – Mike Sonko Mbuvi Kioko – Jubilee";
$data_array = explode(', ', $county_data);
var_dump($data_array );
To help you along, here is a really rough version of one way to do this:
Your original data array:
$county_data = "1. Mombasa. – Hassan Ali Joho – ODM,
2. Kwale. – Salim Mvurya – Jubilee,
3. Kilifi. – Amason Jeffah Kingi – ODM,
4. Tana River. – Dhadho Godhana – ODM,
5. Lamu. – Fahim Yasin Twaha – Jubilee,
6. Taita-Taveta. – Granton Samboja – WDM K,
7. Garissa. – Ali Bunow Korane – Jubilee,
8. Wajir. – Mohamed Abdi Mohamud – Jubilee,
9. Mandera. – Ali Ibrahim Roba - Jubilee,
10. Marsabit – Mohamud Mohamed Ali – Jubilee,
11. Isiolo – Mohamed Abdi Kuti – Independent,
12. Meru – Kiraitu Murungi – Jubilee,
13. Tharaka Nithi – Onesmus Muthomi Njuki – Jubilee,
14. Embu – Martin Nyaga Wambora – Jubilee,
15. Kitui – Charitu Ngilu – Narc Kenya,
16. Machakos – Alfred Mutua – CCM,
17. Makueni – Kivutha Kibwana – WDM K.,
18. Nyandarua – Francis Kimemia – Jubilee,
19. Nyeri – Mutahi Kahiga – Jubilee,
20. Kirinyaga. – Ann Waiguru – Jubilee,
21. Murang’a – Mwangi wa iria – Jubilee,
22. Kiambu. – Ferdinand Waititu Babayao – Jubilee,
23. Turkana. – Josphat Nanok – ODM,
24. West Pokot. – John Krop Lonyang’apuo. – KANU,
25. Samburu. – Moses Kasainie Lenolkulal – Jubilee,
26. Trans-Nzoia. – Patrick Khaemba – FORD Kenya,
27. Uasin gishu. – Jackson Mandago – Jubilee,
28. Elgeyo Marakwet. – Alex Tanui Tolgas – Jubilee,
29. Nandi. – Stephen Sang – Jubilee,
30. Baringo – Stanley K Kipris. – Jubilee,
31. Laikipia – Ndiritu Muriithi – Independent,
32. Nakuru. – Lee Kinyanjui – Jubilee,
33. Narok – Samuel Kuntai Ole Tunai – Jubilee,
34. Kajiado. – Joseph Ole Lenku – Jubilee,
35. Kericho. – Prof.Paul Chepkwony Kiprono – Jubilee,
36. Bomet. – Hillary Barchok – Jubilee,
37. Kakamega. – Wyclife Oparanya – ODM,
38. Vihiga. – Wilber Ottichilo – ODM,
39. Bungoma. – Wyclife Wafula Wangamiti – ODM,
40. Busia. – Sospeter Ojaamong – ODM,
41. Siaya. – Cornel Rasanga. – ODM,
42. Kisumu. – Peter Anyang Nyong’o. – ODM,
43. Homabay. – Cyprian Awiti – ODM,
44. Migori. – Zachary Okoth Obado – ODM,
45. Kisii. – James Ongware – ODM,
46. Nyamira. – John Nyangarama Obiena - ODM,
47. Nairobi. – Mike Sonko Mbuvi Kioko – Jubilee";
To start:
// create a empty array to store things in:
$table = [];
// split the data at newlines
$lines = explode("\n", $county_data);
// loop through each line...
foreach ($lines as $line) {
// split into id, and the rest of the line
[$id, $rest] = preg_split('#(?<=\d). (?=[a-z])#i', $line);
// skip the empty line (at the end)
if (empty($rest) ) {
continue;
}
// split the rest of the line, on those hyphens, n-dash, em-dashes!
$cols = preg_split( "/[-–]/", $rest );
// push the parts to the table array
array_push($table, array('id' => $id, 'county' => $cols[0], 'name' => $cols[1], 'party' => $cols[2]));
}
// now you can print the table
echo '<table border="1">';
echo '<thead><tr><th>ID</th><th>County</th>Name</th><th>Party</th></tr></thead>';
echo '<tbody>';
foreach ($table as $row) {
echo '<tr>';
foreach ($row as $col) {
echo '<td>' .$col .'</td>';
}
echo '</tr>';
}
echo '</tbody>';
echo '</table>';
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.