Question: What's the best way to get text from a string. I have a LONGTEXT field in the db and currently is:

```
<ul>
 <li>Winner on Laps #153 LemonAid Racing (1996 Geo Metro, Davenport Iowa)</li>
 <li>Winner on Index of Effluency #42 J CrewD (1985 Jagaur XJ6, Knoxville Tn)     </li>
 <li>Winner, Class A (The Good) #153 LemonAid Racing (1996 Geo Metro, Davenport Iowa)</li>
 <li>Winner, Class B (The Bad) #128 Duff Beer (1994 Honda Civic, Raleigh NC and Atlanta GA)</li>
 <li>Winner, Class C (The Ugly) #64 Team Fairlylame (1964 Ford Fairlane, Savannah GA)</li>
 <li>Organizer's Choice #54 Knoxvegas Lowballers (1998 Ford Contour SVT, Knoxville TN)</li>
 <li>Most Heroic Fix #40 Mock Grass Racing (1998 Kia Sephia, Columbia SC)</li>
 <li>Judges' Choice #85 Apocalyptic Racing (1978 Toylet Celica, St Louis mo)     </li>
 <li>Judges' Choice #2 #17 Fireball Racing (1991 Ford Escort, Aurora IL)</li>
</ul>

```

1 Say I wanted to get the strings "1996 Geo Metro, Davenport Iowa", "1985 Jagaur XJ6, Knoxville Tn".. etc... from the entire string (the text inside the parenthesis).What is the best way to do so?

2. Say I wanted to get all the text in the 'li' up to the symbol "#", is that possible?

Thanks in advance

Answer: 
You can try using [Regular Expressions](https://en.wikipedia.org/wiki/Regular_expression).

For example, to find **(the text inside the parenthesis)** you can use the following regex:

```
/(?<=\()([^\)]+)(?=\))/

```

and to get **all the text in the 'li' up to the symbol "#"** you can use:

```
/(?<=<li>).*(?=#)/

```

[Perform a regular expression match on PHP](http://php.net/manual/en/function.preg-match-all.php)

[Awesome regex resource!](http://www.regex101.com)
Use [`preg_match_all`](http://php.net/manual/en/function.preg-match-all.php)

1. `preg_match_all('/\(([^\)]+)\)/', $content, $matches);`
2. `preg_match_all('/^[\s]*\<li\>([^#]+)#/m', $content, $matches);`

`$matches[1]` will contain your captured text.