我有字符串,看起来像这样:
Здравствуйте, Мы - Добропочта。 ДляВасестьанонимноеписьмо:
------------------------------{MESSAGE}
------------------------------
其他用户手册 Добропочтанесоздаетданныесообщения。
Суважением,Добропочта。
* {MESSAGE}
- 这是我需要的内容
如果我尝试使用chop()
执行此操作,则会减少所需的字符数,如果我使用str_ireplace
,则根本不会替换public abstract class Entity<T> implements Serializable {
protected Map<Language,EntityMetaData> metaData;
// constructors, setters, getters etc.
}
public class Country extends Entity<Long> implements Serializable {
// some fields
// constructors, setters, getters etc.
}
public class EntityMetaData extends Entity<Long> implements Serializable {
private String name;
private String description;
private Language language;
// constructors, setters, getters etc.
}
我无法理解如何做到这一点
答案 0 :(得分:1)
$subject = "------------------------------\n\nMessage\nmessage line2\n\n------------------------------";
$pattern = '/(?s)-{30}\n\n(.*?)\n\n-{30}/';
preg_match($pattern, $subject, $matches);
print_r($matches[1]);
将$subject
替换为您的字符串
$matches[1]
将包含您的消息
我假设总有30个破折号
说明:
(.*?)
创建了一个群组。可以在$matches[1]
中访问与该组匹配的输入字符串的内容。如果您有多个组,则它们将位于$ matches数组的连续元素中。