PHP 在特定事件发生后分割字符串

标签 php

我有以下字符串,我试图根据具体情况将其拆分为不同的变量

Brodel8DARK HORSE COMICS

我希望我的最终结果是

$user = Brodel

$index = 8

$publisher = DARK HORSE COMICS

我尝试过使用一些正则表达式,但我是新手

这个条件永远成立

用户名将更改(不同的字符数等..) 索引始终是整数,但可以增长到 3 位以上 发布者将始终全部大写

感谢您的帮助

最佳答案

只要发布者不以数字开头,那么此正则表达式就应该有效

/^([A-Za-z]+)(\d+)([A-Z\s]+)$/

它是 0+ 个字符,后跟 0+ 个数字,最后是 0+ 个大写字母。

<?php

$string = 'Brodel8DARK HORSE COMICS';

if(preg_match('/^([A-Za-z]+)(\d+)([A-Z\s]+)$/', $string, $matches) === 1){
    var_dump($matches);
}

输出:

array(4) {
  [0]=>
  string(24) "Brodel8DARK HORSE COMICS"
  [1]=>
  string(6) "Brodel"
  [2]=>
  string(1) "8"
  [3]=>
  string(17) "DARK HORSE COMICS"
}

关于PHP 在特定事件发生后分割字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18854669/

相关文章:

php - 验证粘贴在字段中的脚本

php - 使用 php 运行 c 程序

javascript - 使用 JavaScript jQuery 从 url 获取 GET 变量

php - Magento 新的自定义 block 模块

php - 如何使用 addiction get 参数在 laravel 5 url 中传递正斜杠(%2F)

php - Doctrine 实体管理器导致页面中断

php - 在 PHP 中为 Google Map 调用 JavaScript 函数

php - 移动带键 PHP 数组中的键/值

php - Smarty 和 SmartyBC 类之间的区别

javascript - 多列网格中,如何限制每列的元素数