b3ta.com talk
You are not logged in. Login or Signup
Home » Talk » Message 25273

I need teh uplaod c0dez!
anyoen know how to work preg_split to nick weather off the bbc site? I need to get it to ignore everything above and below what I want and define the content I am nicking as a variable
(, Wed 8 Sep 2004, 19:32, archived)
Lost me

(, Wed 8 Sep 2004, 19:34, archived)
glad im not the only one.

(, Wed 8 Sep 2004, 19:34, archived)
ask Munkt0n
or Sargant, they'll likely know
(, Wed 8 Sep 2004, 19:46, archived)

If you're getting the page as a variable, you're probably better to trim() off the bits you don't want or left() and right() the bits you do. Then you can play with the good stuff.

preg_split -- Split string by a regular expression
Description
array preg_split ( string pattern, string subject [, int limit [, int flags]])

Returns an array containing substrings of subject split along boundaries matched by pattern.
If limit is specified, then only substrings up to limit are returned, and if limit is -1, it actually means "no limit", which is useful for specifying the flags.
flags can be any combination of the following flags (combined with bitwise | operator):

PREG_SPLIT_NO_EMPTY
If this flag is set, only non-empty pieces will be returned by preg_split().

PREG_SPLIT_DELIM_CAPTURE
If this flag is set, parenthesized expression in the delimiter pattern will be captured and returned as well. This flag was added for 4.0.5.

PREG_SPLIT_OFFSET_CAPTURE
If this flag is set, for every occuring match the appendant string offset will also be returned. Note that this changes the return value in an array where every element is an array consisting of the matched string at offset 0 and it's string offset into subject at offset 1. This flag is available since PHP 4.3.0 .


Example 1. preg_split() example : Get the parts of a search string

// split the phrase by any number of commas or space characters,
// which include " ", \r, \t, \n and \f
$keywords = preg_split ("/[\s,]+/", "hypertext language, programming");

Example 2. Splitting a string into component characters

$str = 'string';
$chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
print_r($chars);

Example 3. Splitting a string into matches and their offsets

$str = 'hypertext language programming';
$chars = preg_split('/ /', $str, -1, PREG_SPLIT_OFFSET_CAPTURE);
print_r($chars);

will yield

Array
(
[0] = Array
(
[0] = hypertext
[1] = 0
)

[1] = Array
(
[0] = language
[1] = 10
)

[2] = Array
(
[0] = programming
[1] = 19
)

)

Note: Parameter flags was added in PHP 4 Beta 3.

See also spliti(), split(), implode(), preg_match(), preg_match_all(), and preg_replace().
(, Wed 8 Sep 2004, 19:48, archived)
l33t
alert !
(, Wed 8 Sep 2004, 19:54, archived)
Hardly
I happened to have php docs locally. They're very hard to find.
(, Wed 8 Sep 2004, 20:05, archived)
that MUST be PHP
thank god I use perl, which has stuff like this
(, Wed 8 Sep 2004, 20:06, archived)
There's a way to do most things
in most languages. The above is the PHP docs on the function he was asking about.

perl is certainly powerful, but due to being processed inline, I think PHP might be more suited to this type of work. It's not a matter of better or worse, but different means to an end.
(, Wed 8 Sep 2004, 20:13, archived)